为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 xUnit 中对类的多个实例进行单元测试

如何在 xUnit 中对类的多个实例进行单元测试

C#
慕尼黑的夜晚无繁华 2021-06-23 17:13:22
我对单元测试相当陌生。我理解这个概念,但我总是发现自己在执行过程中撞到了墙。在 xUnit 中,我如何测试一个类的多个实例?例如,假设我有一个带有签名的构造函数:public FileWatcher(string path = "", bool startWatching = true)我想为每个公共属性和方法运行我的所有单元测试,我正在针对多个实例进行测试FileWatcher,每个实例的构造函数都传递了不同的参数。通过这种方式,我可以针对FileWatcher没有传入参数的实例运行所有测试,然后针对传入参数的实例运行测试。我不知道我尝试做的事情是否散发着代码异味,或者我不知道正确的命名法来显示任何结果,但我找不到关于这个主题的任何内容。
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

我相信,你应该考虑一下你的方法。从签名来看,我认为您FileWatcher应该/将/确实在path为空、文件存在时和文件不存在时的行为有所不同。

一遍又一遍地测试相同的场景并没有多大意义,因为您基本上是在运行相同的测试。

您应该尝试找到不同的边缘情况,最好为每个情况创建一个测试。

也就是说,可以在 xUnit 中创建理论,这些是带参数的测试。我建议xUnit Theory: Working With InlineData, MemberData, ClassData,这对我有帮助。


查看完整回答
反对 回复 2021-06-26
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信