gpt4 book ai didi

java - 在 Java 中模拟 DTO 的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:49 26 4
gpt4 key购买 nike

在编写单元测试时,我需要一些带有示例数据的对象。例如,假设我有一个 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);

它比这里看起来更令人沮丧和冗余,因为一个真实的对象可能有更多的属性和嵌套对象。

如果一个人需要多个订单......

创建用于测试的模拟数据对象的最佳方法是什么?

我突然想到要从 Json 中反序列化我的对象。是否有标准、有效的方法来执行此操作?

最佳答案

通常 DTO 只包含字段,没有需要模拟的逻辑。

我会使用 DTO 作为自身的模拟。如果 DTO 中有逻辑,您可能想模拟出来,我会将逻辑移出 DTO。

要创建 DTO,我会从测试本身或外部文件中的文本中执行此操作。您可以使用 JSon,但如果您还没有使用它,我会使用 XMLEncoder/XMLDecoder。它不是漂亮的 XML,但它是内置的,因此您不需要额外的库。

如果可以,您也许能够从应用程序的日志中创建 DTO,这样您就可以重新创建一个真实的场景。

关于java - 在 Java 中模拟 DTO 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com