junit – 模拟外部不可见的依赖项
发布时间:2020-12-15 02:26:12 所属栏目:Java 来源:网络整理
导读:我必须对一些不支持单元测试(No DI)的旧代码进行单元测试.有没有办法模拟在公共方法中初始化的对象? public int method() { A a = new A(ar1,arg2); //How to mock this?} 谢谢, -Abidi 解决方法 另一个选择是重构代码 public int method() { A a = createA
我必须对一些不支持单元测试(No DI)的旧代码进行单元测试.有没有办法模拟在公共方法中初始化的对象?
public int method() { A a = new A(ar1,arg2); //How to mock this? } 谢谢, -Abidi 解决方法
另一个选择是重构代码
public int method() { A a = createA(arg1,arg2); } A createA(int arg1,int arg2) { return new A(arg1,arg2); } 在您的测试方法中,您现在可以使用Mockito的间谍和doAnswer函数来覆盖测试夹具上的createA,其中包含以下内容: Foo foo = new Foo(); Foo spiedFoo = spy(foo); // a spied version when you can copy the behaviour doAnswer(new Answer() { @Override public Object answer(InvocationOnMock inv) throws Throwable { A a = mock(A.class); return a; } }).when(mySpy).createA(anyInt(),anyInt()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – JBoss AS 7无法使用@PersistenceContext注入RESOUR
- JSP application.getResource()方法:获取指定资源的URL路径
- 浅谈java基本数据类型的范围(分享)
- Java类和对象
- java – 如何解析“dd-MM”日期格式以获取当前年份?“
- java – 线程使用的System.setProperty会影响与外部网络元素
- java – 显示HTML时JEditorPane是否有Charset问题?
- java – 一个好的哈希函数,用于访问整数,字符串?
- java – Eclipse RCP – 在创建View后立即添加一个Listener
- java – 使用spring ws支持的webapplication进行会话管理