我有以下课程:
class A{ private B mB; A(B b){ mB = b; } voID String someMethod(){ mB.execute(); }}
如何使用模拟类A和类B测试someMethod
B b = Mockito.mock(B.class)Mockito.when(b.execute().thenReturn("String")A a = Mockito.mock(A.class)//somehow inject b into A and make the below statement runMockito.when(a.someMethod()).check(equals("String"))解决方法 您想测试A类的someMethod().测试B类的execute()应该在另一个测试中进行,因为B的实例是您的案例中的依赖项. execute()的测试应该在不同的测试中进行.
您不需要测试B对象的行为方式,因此您需要模拟它,然后检查是否已调用execute().
所以在你的情况下你的测试看起来像这样:
B b = Mockito.mock(B.class); A a = new A( b ); a.someMethod(); Mockito.verify( b,Mockito.times( 1 ) ).execute();@H_@R_502_6940@_0@ 总结
以上是内存溢出为你收集整理的如何使用构造函数注入来模拟类全部内容,希望文章能够帮你解决如何使用构造函数注入来模拟类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)