【问题标题】:Assert the tested class internal objects断言被测试的类内部对象
【发布时间】:2016-06-11 17:44:23
【问题描述】:
我正在使用 Easy mock。
- 我从我的测试类中调用我实际类的方法。
- 在该方法中,我使用子对象动态创建了一个名为“A”的对象。
- 我将该对象“A”传递给远程服务并返回输出。
我不想资产返回的输出。 (已经处理好了)
我想要断言并确保我的对象成功创建并且它包含相关的子对象?
我可以在它传递给远程服务之前或之后从我的测试类访问这个对象吗?
这可能吗?
非常感谢:)
【问题讨论】:
标签:
java
unit-testing
mocking
easymock
software-quality
【解决方案1】:
是的,这是可能的。模拟远程服务,并在模拟远程调用时使用capture。从捕获中获取作为参数传递的实际值,并检查它是否包含预期的所有内容。
类似于以下内容(未测试):
Capture<A> capture = EasyMock.newCapture();
expect(mockRemoteService.someMethod(capture)).andReturn(whatever);
...
A a = capture.getValue();
// now check that a is OK.