欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用JUnit4进行性能测试 junittddjava

程序员文章站 2022-06-30 10:13:20
...
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

JUnit 4 基本上是一个新框架,而不是旧框架的升级版本。
JUnit 4 没有 suite()方法,那么您需要一个具有集成 JUnit支持的 IDE,比如 Eclipse。

使用JUnit的测试方法必须按照规范书写
1. 测试方法必须使用注解 org.junit.Test 修饰。
2. 测试方法必须使用 public void 修饰,而且不能带有任何参数。
    @Test public void wordFormat4DBegin(){
        String target = "EmployeeInfo";
        String result = WordDealUtil.wordFormat4DB(target);
        
        assertEquals("employee_info", result);
    }


注解 org.junit.Test 中有两个非常有用的参数:expected 和 timeout。
1、参数 expected 代表测试方法期望抛出指定的异常,如果运行测试并没有抛出这个异常,则 JUnit 会认为这个测试没有通过。
        @Test(expected=UnsupportedDBVersionException.class)
        public void unsupportedDBCheck(){
            ……
        }

2、参数timeout,指定被测试方法被允许运行的最长时间应该是多少,如果测试方法运行时间超过了指定的毫秒数,则JUnit认为测试失败。
        @Test(timeout=1000)
        public void selfXMLReader(){
            ……
        }


测试驱动开发(TDD)是敏捷开发中一个非常好的实践,其具体做法是在着手编写代码之前,首先为需要完成的代码设置接受测试,一旦测试通过,就意味着代码实现完成。
TDD促使开发人员在实现代码之前准确定义代码功能,并通过这个准则避免开发人员增加不必要的功能。
世纪上,TDD方法同样适用于敏捷中的性能测试。如果有明确的针对函数的性能标准,同样可以被包含在测试中,并作为函数实现与否的德一个判定标准。
使用上述JUnit4的@Test(timeout=XXX)就能够达成这个目标。
如,可以测试一个计算菲波拉切数列函数的执行时间。
	@Test(timeout=12)
	public void compute() {

		Long l1 = 0L;
		Long l2 = 1L;
		Long l = 0L;
		for (int i = 0; i < 100000; i++) {
			l = l1 + l2;
			l1 = l2;
			l2 = l;
		}
		System.out.println(l);
	}


相关标签: junit tdd java