在C#中,您可以使用AssemblyInfo.c中的InternalsVisibleTo
属性创建一个测试项目访问项目内部的权限,这样您就可以对项目的部分内容进行单元测试。我想公开。
[assembly: InternalsVisibleTo("MyTestProject")]
我无法在F#中发现等效的解决方案,甚至根本没有发现如何将属性添加到程序集中。是否有解决方案(或等效的解决方法),如果是的话,它是什么?
答案 0 :(得分:5)
Jeff Mercado获取装配属性的解决方案(我之前从未见过)导致我的问题得到以下解决方案。谢谢杰夫!
module AssemblyInfo
open System.Runtime.CompilerServices
[<assembly: InternalsVisibleTo("MyTestProject")>]
do()
答案 1 :(得分:4)
将其放入您的fsproj文件中:
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>$(AssemblyName).Tests</_Parameter1>
</AssemblyAttribute>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>DynamicProxyGenAssembly2</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
请注意,仅当使用Moq时才需要DynamicProxyGenAssembly2的条目。