我正在编写一些单元测试类,我只想在调试模式下运行它们。
当我以不同的模式运行时,是否有某种方法不将类本身部署到最终的程序集。
我不是在谈论他们的内容(#if DEBUG标志),他们自己的文件。
我使用VS2005。
感谢。
答案 0 :(得分:2)
标准做法是将测试类放在单独的程序集中。 这样,您只需部署包含实际生产代码的程序集即可。
答案 1 :(得分:0)
在标记类作为测试的属性周围使用#if DEBUG
? (详细信息取决于您使用的测试系统。)
如果没有该指示,该类将失去其测试状态,但仍将包含在程序集中。
答案 2 :(得分:0)
您也可以使用条件属性指定DEBUG作为其参数。
但是从编译中排除整个文件的方法是在项目(。?? proj)文件中定义一个条件,所以如果你有类似的东西
<ItemGroup>
<Compile Include="Form1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.vb">
<DependentUpon>Form1.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
您可以向ItemGroup
添加条件:
Condition=" '$(Configuration)' == 'Debug' "
请注意,您可以定义多个ItemGroup
。