模拟对象查询
是否可以使用构造函数参数创建模拟对象。例如 假设我有一个对象并使用两种构造函数。怎么办?
类测试{ 列表<字符串>列表 公开测试() { 列表 = new ArrayList
() } 公共测试(列表 列表) { this.list = 列表 } }
问题2: 如果真实对象的方法之一返回模拟对象,我可以在真实对象上使用expect吗 例如 PreferenceService prefServ = easyMock.create(...) 现在 prefServ 是一个模拟对象,由“Test”类中的方法之一返回,例如 PreferenceService getPreferenceService()。如果我创建一个 Test 类型的真实对象,我可以使用 Expect(test.getPreferenceService()).andReturn(mockPreferenceService) ???我收到一条错误消息,指出返回类型不兼容。
Is it possible to create a mock object with constructor arguments. For e.g
Say I have an object and uses two kinds of constructors. How ?Class test{ List<String> list public test() { list = new ArrayList<String>() } public test(List<String> list) { this.list = list } }
Question 2:
Can I use expect on a real object if one of its methods returns a mock object
For e.g PreferenceService prefServ = easyMock.create(...) Now prefServ is a mock object which is returned by one of the methods in class 'Test' E.g. PreferenceService getPreferenceService(). If I create a real object of type Test can i use expect(test.getPreferenceService()).andReturn(mockPreferenceService) ??? I get an error that says incompatible return type.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为你想要的是部分嘲笑。你可以这样做:
现在你有了defaultTest,用默认构造函数实例化,它是Test的一个真实实例,除了方法getPreferenceService()被模拟之外。
现在您已经有了与上面相同的内容,但是这次 Test 对象是使用 List 构造函数构造的。
I think what you want is partial mocking. You could do:
Now you have defaultTest, instantiated with the default constructor, which is a real instance of Test except that the method getPreferenceService() is mocked.
Now you have the same as above, but this time the Test object was constructed with the List constructor.