如果我使用 inner 类 进行单元测试架构,如何避免忽略测试?
How to avoid ignore tests if I use inner classes for unit testing architecting?
我有以下单元测试架构:
@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
注释的方法
我找到了决定 - 忽略基础 class。
有点像黑客。有没有更优雅的方式?
将 Base
移动到 ProductTest
class 之外(可以在同一文件中)并将 RunWith
移动到具体的 classes.
我有以下单元测试架构:
@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
我找到了决定 - 忽略基础 class。
有点像黑客。有没有更优雅的方式?
将 Base
移动到 ProductTest
class 之外(可以在同一文件中)并将 RunWith
移动到具体的 classes.