首页 文章

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

提问于
浏览
0

我对单元测试很新 . 我理解这个概念,但我发现自己在执行中碰到了墙 . 如何在xUnit中测试一个类的多个实例?例如,假设我有一个带签名的构造函数:

public FileWatcher(string path = "", bool startWatching = true)

我想为每个公共属性和方法运行我的所有单元测试,我正在针对多个 FileWatcher 实例进行测试,每个实例都使用构造函数传递不同的参数 . 这样我可以针对 FileWatcher 的实例运行我的所有测试,其中没有传入任何参数,然后是参数所在的实例 . 我不想试着嗅到代码味道,或者我不想在这个问题上找到任何东西 .

1 回答

  • 1

    我相信,你应该考虑一下你的方法 . 从签名中,我认为当 path 为空时,当文件存在时,当文件不存在时, FileWatcher 应该/将/会表现出不同的行为 .

    一遍又一遍地测试相同的场景没有太大意义,因为你基本上都在运行相同的测试 .

    您应该尝试找到不同的边缘情况,并理想地为每个边缘情况创建一个测试 .

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

相关问题