我如何在Junit嘲笑新的呼叫创建



有人可以帮助我模拟新对象创建并调用类方法:

public String login(){
    new SampleClass3().method(sam);//need to mock this line
    return "welcome to login page";
}

这可以使用模拟框架(例如PowerMock)完成。您可以在此处找到一个解释。

所以,尽管路易斯的评论在技术上是不正确的,但他对您最好而不是做到这一点是完全正确的。

首先,使用PowerMock 可以导致各种微妙的问题。我花了很多小时"修复"了单元测试 - 最终要弄清楚还有另一件怪异的PowerMock发生。在我们的生产代码中没有任何问题。

然后:真实的是 - 您很难测试代码:如创建其他对象,这是更好的选择。相反,您应该研究依赖项注入的方法。通过构造函数传递SampleClass3对象;或通过该课程的工厂或使用注入框架。

长话短说:例如,您想通过观看这些视频来学习如何创建可测试的代码。那个时候比了解PowerMock更好的投资是更好的投资。相信我。

最新更新