我有一个测试项目。我为每个包都设置了运行器的 AllTests 类Suite
,并且我有一个AllTest
聚合所有其他AllTest
类的主控。师傅也是跑的Suite
。
我定义了一个接口IntegrationTest
和一个IntegrationTestSuite
类。IntegrationTestSuite
由运行,Categories
并且作为一个SuiteClass
,我指定主控AllTests
,还添加了IncludeCategory
注释IntegrationTest.class
。在几个测试中,我使用@Category(IntegrationTest.class)
类级别的注释将一些测试包含在集成套件中。
我有几个运行的测试类PowerMockRunner
和注释@Category(IntegraionTest.class)
。我的问题基本上是,其中一些测试由我的 Gradle 构建执行,而有些则被跳过。如果我删除PrepareForTest
跳过的测试的注释,我会收到一条错误消息,指出 powermock 没有正确设置,并且这些错误消息也会显示在报告中,否则它只是沉默。
奇怪的是,在短时间内,当我在 Eclipse 中运行相同的套件时,它能够找到并运行那些 gradle 跳过的测试。但是过了一会儿,Eclipse JUnit 运行程序也忘记了这些测试,现在它在运行套件时不会运行它们。如果我直接运行这些测试,它们就会成功运行。
知道我做错了什么,或者我在哪里可以检查出了什么问题?使用 gradle --stacktrace 或 --debug 开关没有帮助,输出中没有关于这些测试的信息。
谢谢!