如何使用NUnit测试私有方法?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

我想知道如何正确使用NUnit。首先,我创建了一个单独的测试项目,它使用我的主项目作为参考。但在那种情况下,我无法测试私人方法。我的猜测是,我需要将我的测试代码包含到我的主代码中? - 这似乎不是正确的做法。(我不喜欢用代码运送代码的想法。)

如何使用NUnit测试私有方法?

提问于
用户回答回答于

一般来说,单元测试可以解决一个类的公共接口,理论上讲,实现并不重要,只要结果从客户的角度来看是正确的。

所以,NUnit不提供任何测试非公开成员的机制。

用户回答回答于

编写单元测试的通用模式是仅测试公共方法。

如果你发现你有很多你想测试的私有方法,通常这是一个迹象表明你应该重构你的代码。

将这些方法公布在他们目前生活的班上是错误的。这会打破你想让这个班级拥有的合同。

将他们转移到辅助班并在那里公开他们可能是正确的。这个类可能不会被您的API暴露。

这样,测试代码不会与您的公共代码混淆。

类似的问题是测试私人类,即。你不从你的程序集导出的类。在这种情况下,您可以使用属性InternalsVisibleTo将您的测试代码程序集明确地作为生产代码程序集的朋友。

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问6 回答
  • 无聊至极

    4 粉丝504 提问6 回答
  • 富有想象力的人

    4 粉丝0 提问4 回答
  • 找虫虫

    2 粉丝0 提问4 回答

扫码关注云+社区

领取腾讯云代金券