我正在以 Visual-Studio 2008 的方式进行单元测试,我想知道什么是完成交叉汇编 class
访问以进行测试的最佳方式。
基本上,我在一个解决方案中有两个项目:
- 我的项目(C#)
- MyProjectTests(C# 测试项目)
MyProject 中的所有内容目前都具有默认可访问性,如果我没记错的话,这意味着所有内容实际上都是内部
。我主要希望在 class
级别进行测试,但涉及一些 delegates
。
将来某个时候可能会有一个外部 API,但我已经完成了大约 20% 的功能(至少在纸面上),而且我对在这个未经测试的之上分层更多代码持怀疑态度核。因此,我想现在就完成一些测试,在应用程序完成到足以进行传统(读作:糟糕和/或惰性)功能测试之前,并且肯定在版本 n+1 外部 API 启动之前。
除了一个直接的答案,一个解决方案的例子将不胜感激。
最佳答案
您可以使用程序集级属性 InternalsVisibleToAttribute实现这一目标。
添加
[assembly:InternalsVisibleTo("MyProjectTests")]
到您的 MyProject 程序集中的 AssemblyInfo.cs。
关于c# - 如何访问另一个程序集中的类以进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1211707/