我有以下单元测试架构:
@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
发布
我找到了决策忽略基类。
有点像黑客。还有更优雅的方式吗?
将Base
移动到ProductTest
类之外(可以在同一文件中),并将RunWith
移动到具体类中。