Java Junit runner和所有bean被嘲笑

Java Junit runner和所有bean被嘲笑,java,unit-testing,junit,junit4,Java,Unit Testing,Junit,Junit4,我实际上是在一个Dropwizard项目上,我问自己是否有可能有一个运行程序,默认情况下,它将模拟运行测试服务所需的所有bean。运行程序不必为每个bean在测试类上添加@Mock,而是对所有bean进行模拟,当我需要覆盖其中一个bean(将模拟转换为间谍)时,我可以在测试类上执行此操作 例如,此代码: @RunWith(MockitoJUnitRunner.class) public class BuilderTest { @Mock private A a; @S

我实际上是在一个Dropwizard项目上,我问自己是否有可能有一个运行程序,默认情况下,它将模拟运行测试服务所需的所有bean。运行程序不必为每个bean在测试类上添加@Mock,而是对所有bean进行模拟,当我需要覆盖其中一个bean(将模拟转换为间谍)时,我可以在测试类上执行此操作

例如,此代码:

@RunWith(MockitoJUnitRunner.class)
public class BuilderTest {

    @Mock
    private A a;

    @Spy
    private B b;

    @InjectMocks
    private C c;

}
将成为:

@RunWith(CustomMockitoJUnitRunner.class)
public class BuilderTest {

    @Spy
    private B b;

    @InjectMocks
    private C c;

}

有可能吗?

这没有多大意义。你为什么要嘲笑你没有用的东西?如果您的组件使用了大量的注射剂,这使得测试变得更加困难,那么这就是减少注射剂数量的信号,而不是试图在测试中四处挥舞(因为从长远来看,注射剂将更容易处理)。您是对的,不幸的是,这是一个老项目,现在不可能减少注入的数量,这就是为什么我要寻找一个像我描述的那样的临时解决方案