C# xUnit.net测试剥离程序[在部署/发布之前删除嵌入在二进制文件中的测试代码]

C# xUnit.net测试剥离程序[在部署/发布之前删除嵌入在二进制文件中的测试代码],c#,unit-testing,msbuild,nunit,xunit.net,C#,Unit Testing,Msbuild,Nunit,Xunit.net,是否有可用的测试剥离器(如中所定义)支持从二进制文件中删除包含标记为[Fact]s等方法的类,以及对xunit.dll的依赖关系[作为构建过程的一部分] 有关完整要求和上下文的更多详细信息,请参阅 如果做不到这一点(删除测试和对DLL的引用),是否有人有一种实用程序/经验证的干净方法来删除xunit.DLL依赖项,而不必在.vcproj文件中进行太多的篡改等 开放源码者优先。为NUnit编写的一份干净的报告可能会作为一个基础 注:我知道将代码嵌入程序集的负面影响-这个问题与此无关(除非在阅读co

是否有可用的测试剥离器(如中所定义)支持从二进制文件中删除包含标记为[Fact]s等方法的类,以及对xunit.dll的依赖关系[作为构建过程的一部分]

有关完整要求和上下文的更多详细信息,请参阅

如果做不到这一点(删除测试和对DLL的引用),是否有人有一种实用程序/经验证的干净方法来删除xunit.DLL依赖项,而不必在.vcproj文件中进行太多的篡改等

开放源码者优先。为NUnit编写的一份干净的报告可能会作为一个基础


注:我知道将代码嵌入程序集的负面影响-这个问题与此无关(除非在阅读codeplex线程后,您觉得遗漏了一些关键点)。

如果您的单元测试放在一个项目中,则。自己组装的测试类在部署之前应该不需要剥离测试类。这种方法有什么错?

如中所述,我用Mono.Cecil实现了一个基本剥离器,但最终利用了这样一个事实,即通过

Read来“剥离”测试(简而言之,您需要公开更多内容和/或有条件地编译大量内容,以使内容对测试可见),并且您最终得到的项目数量是原来的两倍。这是MSTest的Publicate.exe实用程序创建“私有访问器”的动机之一,这是一个被误导的动机,但事实并非如此assemblies@Miriam:正如CodePlex文章中所讨论的,InternalsVisibleTo的关键问题是如何在强命名中变得混乱。(事实上,你最终得到的项目是原来的两倍)