我对单元测试相当陌生。我理解这个概念,但我总是发现自己在执行过程中撞到了墙。在 xUnit 中,我如何测试一个类的多个实例?例如,假设我有一个带有签名的构造函数:public FileWatcher(string path = "", bool startWatching = true)我想为每个公共属性和方法运行我的所有单元测试,我正在针对多个实例进行测试FileWatcher,每个实例的构造函数都传递了不同的参数。通过这种方式,我可以针对FileWatcher没有传入参数的实例运行所有测试,然后针对传入参数的实例运行测试。我不知道我尝试做的事情是否散发着代码异味,或者我不知道正确的命名法来显示任何结果,但我找不到关于这个主题的任何内容。
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
我相信,你应该考虑一下你的方法。从签名来看,我认为您FileWatcher
应该/将/确实在path
为空、文件存在时和文件不存在时的行为有所不同。
一遍又一遍地测试相同的场景并没有多大意义,因为您基本上是在运行相同的测试。
您应该尝试找到不同的边缘情况,最好为每个情况创建一个测试。
也就是说,可以在 xUnit 中创建理论,这些是带参数的测试。我建议xUnit Theory: Working With InlineData, MemberData, ClassData,这对我有帮助。
- 1 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消