【发布时间】:2009-02-06 13:27:55
【问题描述】:
谁能告诉我一些关于跨多个文件的 .NET 程序集的信息?
我在 MSDN (here) 上发现了这句话:
虽然技术上可以创建跨越 多个文件,您不太可能在大多数情况下使用此技术 情况。
我问是因为我在单独的项目中有业务逻辑和单元测试,而且我想测试一些内部类(单元测试无法访问这些类) - 所以我想我会尝试将两者合并为一个程序集。
【问题讨论】:
标签: .net unit-testing assemblies
谁能告诉我一些关于跨多个文件的 .NET 程序集的信息?
我在 MSDN (here) 上发现了这句话:
虽然技术上可以创建跨越 多个文件,您不太可能在大多数情况下使用此技术 情况。
我问是因为我在单独的项目中有业务逻辑和单元测试,而且我想测试一些内部类(单元测试无法访问这些类) - 所以我想我会尝试将两者合并为一个程序集。
【问题讨论】:
标签: .net unit-testing assemblies
您可以将两个程序集加为好友。然后一个人可以看到另一个人的“内部”。还是看不到私密。
MSDN - http://msdn.microsoft.com/en-us/library/0tke9fxk(VS.80).aspx
【讨论】:
如果您想测试内部方法,那么InternalsVisibleTo 是适合您的属性。事实上,测试内部类/方法几乎是我用过它的唯一目的。
(基本上你将它应用于生产程序集,指定测试程序集 - 然后测试程序集可以访问内部成员。)
【讨论】:
我会说在下面的 2 个选项之间做出决定
恕我直言,只有当您真的担心不公开内部类型 + 绝对必须测试它们时,才选择 Option2。 Option1 允许您随时更改内部实现/类,而不会破坏任何测试。不要使用晦涩的方法将程序集拆分到多个物理文件进行测试。
【讨论】:
应该通过测试您的公共方法来测试内部类。
【讨论】: