如何对始终自动连接的接口进行单元测试(Java)
所以我有一个接口,我们称它为X 因此,在常规代码中,我有:如何对始终自动连接的接口进行单元测试(Java),java,spring,unit-testing,autowired,Java,Spring,Unit Testing,Autowired,所以我有一个接口,我们称它为X 因此,在常规代码中,我有: public class doStuff() { @Autowired private X x; public stuff() { x.doYourThing(); } } 我不知道如何测试这个 如果我尝试: public class XTest() { @Autowired private X x; public void test(){ string val = x.FillUpVal(); assertTr
public class doStuff()
{
@Autowired
private X x;
public stuff()
{
x.doYourThing();
}
}
我不知道如何测试这个
如果我尝试:
public class XTest()
{
@Autowired
private X x;
public void test(){
string val = x.FillUpVal();
assertTrue("It didn't work",val=="hi");
}
}
我将x设为null,因此它立即抛出NullPointerException并使测试失败。我正在寻找一些关于正确方法的指导。事实上,您可以@Autowire一个模拟对象。我推荐Mockito框架。 更多信息和示例: 有关模拟的更多信息: 在面向对象编程中,模拟对象是模拟对象 以受控方式模拟真实对象的行为。A. 程序员通常创建一个模拟对象来测试 其他一些对象,与汽车设计师使用 碰撞试验假人,用于模拟人体在碰撞过程中的动态行为 车辆碰撞
需要更多关于您想要测试什么的说明:1)当
doStuff()
以特定方式运行时(使用模拟)如何运行,或2)当与运行时使用的真实X连接时doStuff()
如何运行(使用Spring的测试上下文库)