Ksh*_*rma 9 java unit-testing mocking dto
在编写单元测试时,我需要一些带有样本数据的对象.例如,假设我有一个Order对象.人们需要编写这样的代码 -
Order o = new Order();
o.setId(3);
o.setAmount(2830.9);
List<Item> items = new ArrayList<Item>();
Item i = new Item();
i.setId(3);
i.setCost(34);
items.add(i);
o.setItems(items);
Run Code Online (Sandbox Code Playgroud)
它比看起来更令人沮丧和冗余,因为真实对象可能有更多的属性和嵌套对象.
如果需要多个订单......
创建模拟数据对象以进行测试的最佳方法是什么?
在我的脑海中,我正在考虑从Json反序列化我的对象.有没有一种标准,有效的方法来做到这一点?
Pet*_*rey 14
一般来说,DTO只包含字段,没有需要模拟的逻辑.
我会用DTO作为自己的模拟.如果DTO中有逻辑,你可能想嘲笑,我会把逻辑移出DTO.
要创建DTO,我会在测试本身或外部文件中从文本中执行此操作.您可以使用JSon,但如果您不使用它,我将使用XMLEncoder/XMLDecoder.它不是很漂亮的XML,但内置它,所以你不需要额外的库.
如果可以,您可以从应用程序的日志中创建DTO,这样您就可以重新创建一个真实的场景.
| 归档时间: |
|
| 查看次数: |
6045 次 |
| 最近记录: |