use*_*667 6 c# debugging nunit access-modifiers
有没有一种很好的方法来实现它,以便在我使用NUnit进行测试时函数是公共的,但是否则是私有的?
不必生成大量无关代码也不错.
- - - - - - - - - - - - 编辑 - - - - - - - - - - - -
似乎解决方案属于3种类型:
有没有办法以编程方式执行此操作?即只需创建一个新的临时应用程序,使所有protected/private/internal
功能public
,插入NUnit,在那里运行测试,然后回到使用私有函数的发布版本?
而不是private
< - > public
你可以使用internal
< - > .public
InternalsVisibleTo
InternalsVisibleTo
是一个程序集属性,您可以在要使单元测试程序集可见的程序集中使用该属性.您必须签署单元测试程序集,因为该InternalsVisibleTo
属性依赖于调用程序集的公钥.
小智 4
如果您对调用私有方法的公共方法有很好的了解,您可能不需要这样做,但这似乎是另一场争论。
这是一个关于 TDD 及其不同方法的很好的链接: How to Test Private and Protected method in .NET