Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多层依赖结构中带弹簧的Mockito_Java_Spring_Mockito - Fatal编程技术网

Java 多层依赖结构中带弹簧的Mockito

Java 多层依赖结构中带弹簧的Mockito,java,spring,mockito,Java,Spring,Mockito,我在我的项目中使用spring来自动连接bean,并且我还使用mockito进行测试 @Service public class A { someMethod() { } } @Service public class B { @Autowired A a; someMethod() { a.someMethod(); } } @Service public class C { @Autowired B b;

我在我的项目中使用spring来自动连接bean,并且我还使用mockito进行测试

@Service
public class A {
    someMethod() { }
}

@Service
public class B {
    @Autowired
    A a;

    someMethod() {
        a.someMethod();
    }
}

@Service
public class C {
    @Autowired
    B b;

    someMethod() {
        b.someMethod();
    }
}
现在,我想用一个真正的自动连接B类和一个模拟a类来测试C类。 我该怎么做


非常感谢。

使用构造函数注入而不是字段注入,您可以简单地将mock作为构造函数参数注入,就像对任何其他对象一样。

事实上,这种构造,测试C,但需要B中的a;这不是进行单元测试的好方法。 Unittest仅用于测试一个单元。 最后,我把A移到了B,也许这是一个更好的单元测试方法