junit控制程序运行流程

加入/修改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+方法名规则来实现。

你可能感兴趣的:(JUnit)