我有以下单元测试架构:
@RunWith(Enclosed.class)
public class ProductTest {
@RunWith(MockitoJUnitRunner.class)
public static abstract class Base {...}
public static class Test1 extends Base{
@Test
public void foo(){...}
}
}
public static class Test2 extends Base{
@Test
public void bar(){...}
}
}
}
如果我运行单元测试,我会看到以下错误消息:
org.mockito.exceptions.base.MockitoException:
No tests found in Base
Haven't you forgot @Test annotation?
Mockito试图说我Base
是测试位没有使用@Test
注释的方法
我找到了决定 - 忽略基类。
它看起来像黑客。有更优雅的方式吗?
答案 0 :(得分:1)
将Base
移到ProductTest
类之外(可以在同一个文件中),然后将RunWith
移到具体的类中。