对于一个测试,我想创建一个 ComplicatedClass
. 实际上,打包这个示例非常复杂,但我不需要运行真正的构造函数,也不需要它的任何数据。我只需要一个 ComplicatedClass
. 我该怎么做?
public class ComplicatedClass {
public ComplicatedClass(/* lots of dependencies */) {
}
}
@Test
public class SomeTest {
public void test1() {
ComplicatedClass complicatedInstance = /* new ComplicatedClass(); /*
AnotherClass ac = new AnotherClass(complicatedInstance);
/* ... */
}
}
2条答案
按热度按时间4c8rllxm1#
@Tested
注解执行以下操作:@Tested ComplicatedClass complicatedInstance;
就这样。请注意,以上不会做任何嘲弄。它只是创建示例而不调用constructor等的方便方法。如果你愿意的话
ComplicatedClass
被嘲笑,用@Mocked
注解:@Mocked ComplicatedClass complicatedInstance;
在这种情况下,您还可以自动创建示例,但该示例是模拟的。gcmastyq2#
@内部测试示例化类对象。
但在编写singleton类的junit测试用例时,@tested如何在内部创建示例,因为singleton的私有构造函数就在那里。