gpt4 book ai didi

java - 从文件映射对象的测试存储库

转载 作者:行者123 更新时间:2023-11-28 21:23:56 24 4
gpt4 key购买 nike

我如何在从资源文件夹中的 JSON 文件中读取对象的内存存储库中进行测试?

存储库:

@Repository
public class MyRepository{

private TreeMap<String, MyObject> objects;
private ObjectMapper mapper;

@Autowired
public MyRepository(ObjectMapper objectMapper) throws IOException {
// mapping objects from /resources to TreeMap
}

// some custom methods working on my objects

}

现在我想测试这些方法,但我不想使用“真实”对象。测试它的最佳方法是什么?我是否应该创建一些将一些对象集合作为参数的构造函数?

最佳答案

这取决于您要进行测试的程度。您将需要对代码中涉及的风险进行成本效益分析。序列化和写入文件存在错误风险,但代码的最高风险区域可能是方法正在执行的操作。它只取决于代码复杂度

在您给出的示例中,您只是传入一个对象列表,它只会测试方法中的逻辑,但不会测试序列化和从内存中写入 JSON 文件。

如果你想包括对序列化和写入文件的测试,你可以传入一个参数,给出文件所在的目录。默认情况下,它将假定为/resources。在您的测试中,您可以创建一个 @Before,其中在特定位置复制或创建目录,然后在测试期间将该路径传递到存储库中。虽然从代码覆盖率更高的角度来看这是更好的选择,但如果序列化非常简单,则可能无益。

关于java - 从文件映射对象的测试存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45691990/

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