利用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 修饰,而且不能带有任何参数。
注解 org.junit.Test 中有两个非常有用的参数:expected 和 timeout。
1、参数 expected 代表测试方法期望抛出指定的异常,如果运行测试并没有抛出这个异常,则 JUnit 会认为这个测试没有通过。
2、参数timeout,指定被测试方法被允许运行的最长时间应该是多少,如果测试方法运行时间超过了指定的毫秒数,则JUnit认为测试失败。
测试驱动开发(TDD)是敏捷开发中一个非常好的实践,其具体做法是在着手编写代码之前,首先为需要完成的代码设置接受测试,一旦测试通过,就意味着代码实现完成。
TDD促使开发人员在实现代码之前准确定义代码功能,并通过这个准则避免开发人员增加不必要的功能。
世纪上,TDD方法同样适用于敏捷中的性能测试。如果有明确的针对函数的性能标准,同样可以被包含在测试中,并作为函数实现与否的德一个判定标准。
使用上述JUnit4的@Test(timeout=XXX)就能够达成这个目标。
如,可以测试一个计算菲波拉切数列函数的执行时间。
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); }