多语言展示
当前在线:1125今日阅读:2今日分享:38

Maven 体验:测试之道基本功

本条经验以单元测试为主讲,兼享一些其它。
工具/原料
1

jdk 1.7.0_75

2

eclipse kelper sr2

3

maven 3.2.3

环境准备
1

和以往一样,我都会强调一下运行环境,一般情况下,版本出入如果不是很大,一般都是可行的。

2

如果对运行环境有更多想要知道的地方,可参考我的其它经验:1)正确查找并安装 JDK2)Maven 体验:徒手创建 web 工程3)Maven 体验:在eclipse下创建maven工程...(在此我创建了 demo)

编写业务逻辑DEMO

在 src/main/java 下新建一个包 com.company.demo.service,并创建一个类 DemoManager 和 它的接口实现 DemoManagerImpl,并针对接口定义方法,分别是 add(x, y) 和 minus(x, y)。

1)单元测试
1

在 src/test/java 下新建一个包 com.company.demo.service,并根据想要测试的类创建测试类,在此为 DemoManagerTest.java,而且方法名要根据业务逻辑编写,在方法前加 test。这个规则是内定的,不要刻意改变,如果不如此,除了莫名其妙的问题自己研究吧。

2

在测试类中有出现 @Before,它表示在 @Test 之前,我们先做好准备工作。而 Assert.assertEquals 中,第一个参数表示期望值,第二个参数表示实际值。

3

右键单击工程名,选择 Run As > Maven test ...测试的结果中: run 表示跑的总数,failures表示失败数,errors 表示错误数。

4

由于例子中是正确的,那么我们把加法中的期望值改成别的,看看错误的效果。

2)并发测试
1

并发测试也很简单,感谢 junit4 的强大。首先在 src/test/java 的 com.company.demo.service 下创建一个叫 MainTest 的类,如图所示:

2

在案例中,我们使用了 ParallelComputer 类,它的第一个参数表示以类为并发,第二个参数表示以方法为并发。看看结果,选择 Run As > Java Application,本次结果为: runs: 2, usded times:10 ms, failures:0

其他

本次的案例较为简单,实际中测试的工作量也是很大的,不但要耐心还要足够细心,当然不会写的人总会误以为自己测的边界等等是没问题的。所以我会根据实际情况,是否有必要继续深入编写经验。

注意事项

有支持才有动力,感谢您的参与。

推荐信息