加入/修改Junit4.11的依赖包
Maven
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
jar: junit-4.11.jar
在测试类上添加注解@FixMethodOrder注解
@FixMethodOrder提供了三种排序方式
1
MethodStories.DEFAULT
会按照方法的hashCode来做排序,不同系统中得到的hashcode有可能是不同的,随意并不能人为的保证执行的顺序。
2
MethodStories.NAME_ASCENDING
按照方法名排序后调用,所以可以很好的通过规范方法名就能控制好执行的顺序,但从命名上我觉得并不好,需要添加和验证逻辑不相干的标示在方法命中。但是也可以很好的利用这个规则,更好的分组组织代码。
一组命名规则如下: test_模块序号_功能序号_方法名
例如: test_01_001_should_regist_success();
test_01_002_should_login_success();
test_01_003_should_login_fail_when_username_empty();
...
3
MethodStories.JVM
按照JVM返回的方法名的顺序执行,所以执行顺序也是不可以预测的。
所以如果业务中需要精准的控制代码的方法的测试顺序,可以通过MethodStories.NAME_ASCEDNING+方法名规则来实现。