我想执行按@Test特定顺序注释的测试方法.
例如:
public class MyTest {
@Test public void test1(){}
@Test public void test2(){}
}
Run Code Online (Sandbox Code Playgroud)
我希望确保test1()在test2()每次运行之前运行MyTest,但我找不到像这样的注释@Test(order=xx).
我认为这对JUnit来说非常重要,如果JUnit的作者不想要订单功能,为什么?
我知道这是不好的做法,但需要做,或者我需要切换到testng.是否有类似于JUnit 3的testSuite的方法来指定要在类中运行的测试的顺序?
JUnit的新手(事实上是JUnit 4)并且遇到了执行测试的套件方式
@RunWith(Suite.class)
@Suite.SuiteClasses(
{
CreateNewProfile.class,
EditProfile.class,
})
public class ProfileTestSuite {
}
Run Code Online (Sandbox Code Playgroud)
这是我在新雇主浏览测试代码库时遇到的代码示例.在执行期间,我资助 - 首先执行CreateNewProfile测试,然后执行EditProfile,这确实有意义,但之后它会在测试中引入依赖性.
我几个月来一直在遵循非依赖的测试机制(虽然我曾经使用过TestNG而不是JUnit),并且期望EditProfile也可以单独执行.那就是编辑配置文件应该负责创建配置文件然后编辑它然后断言操作.
我的问题是 - Junit 4引入了测试订购功能.是这个功能还是一个复活节彩蛋,因为我一直觉得JUnit =独立测试.