gpt4 book ai didi

.net - 对 CSV 解析器和列映射工具进行单元测试

转载 作者:行者123 更新时间:2023-12-01 09:39:00 24 4
gpt4 key购买 nike

我真的开始喜欢单元测试了,有以下问题想请教单元测试大师。

例如,假设我有以下类(class)

public class FileMapper
{
public Dictionary<string, string> ReadFile(string filename, string delimeter){}
}

就我而言,你们通常如何对 Parser 或 ReadFile 方法进行单元测试?

最佳答案

鉴于您提供的方法签名,您可以通过使用许多不同的输入调用 ReadFile 方法来“简单地”对它进行单元测试,并验证返回值是否正确。

但是,这可能会导致 Obscure Tests因为非常重要的测试输入隐藏在文件中,而不是在您查看每个测试时可见。

这是 TDD 显示其力量的地方,因为它应该促使我们考虑更好的 API

例如,您可以将方法更改为:

public Dictionary<string, string> ReadFile(TextReader reader, string delimeter)

从文件中获取 TextReader 仍然很容易,但现在您可以选择使用 StringReader 来提供单元测试输入。

此更改不仅可以更轻松地对 ReadFile 方法进行单元测试,还可以使该方法更普遍地可用,因为它不再与文件系统具有紧密耦合

关于.net - 对 CSV 解析器和列映射工具进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872660/

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