Ben*_*jol 3 tdd f# projects-and-solutions xunit.net
我正在研究我的第一个"真正的"F#装配,并试图做正确的事情.
我设法让xUnit工作,但目前我的测试模块在同一个程序集中.这让我感到困扰,因为这意味着我将发布一个程序集,其中近一半的代码(和80%的API)是测试方法.
这样做的"正确"方法是什么?如果我把测试放在另一个组件中,我认为这意味着我必须暴露内部,我宁愿保密.
我知道在C#中有一个测试的朋友机制(如果这是正确的术语),F#中是否存在等价物?
或者,任何人都可以指出我正在"正确"完成这个项目的示例项目吗?
您可以使用InternalsVisibleTo-Attribute将内部结构暴露给其他组件.
编辑
如果您的程序集已签名,您还需要签署好友程序集,并在InternalsVisibleTo属性中提供公钥:
[<assembly: InternalsVisibleTo("ProcessorTests, PublicKey=0024000004800...)")>]
Run Code Online (Sandbox Code Playgroud)