java—如何在不使用jmockit的情况下创建虚拟示例?

mf98qq94  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(409)

对于一个测试,我想创建一个 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);

        /* ... */
    }

}
4c8rllxm

4c8rllxm1#

@Tested 注解执行以下操作: @Tested ComplicatedClass complicatedInstance; 就这样。请注意,以上不会做任何嘲弄。它只是创建示例而不调用constructor等的方便方法。
如果你愿意的话 ComplicatedClass 被嘲笑,用 @Mocked 注解: @Mocked ComplicatedClass complicatedInstance; 在这种情况下,您还可以自动创建示例,但该示例是模拟的。

gcmastyq

gcmastyq2#

@内部测试示例化类对象。
但在编写singleton类的junit测试用例时,@tested如何在内部创建示例,因为singleton的私有构造函数就在那里。

相关问题