在我的解决方案中,我将c ++和c#项目与相应的单元测试项目混合在一起。在TFS构建期间,我只想执行C#单元测试。不幸的是,我找不到一种方法来排除在单元测试运行器中使用的这些测试组件。我可以根据Native.Tests.dll等命名模式识别所有c ++单元测试项目。
我找不到明确排除某些测试程序集从测试运行程序中测试/执行的方法。
是否有办法通过
环境:
如果您想知道:为什么我要排除某些程序集?
我想使用“测试类别”功能排除在构建服务器上执行某些单元测试,您可以通过TFS模板中的TestCaseFilter功能执行此操作。您可以为每个“测试批次”指定。当我在一个测试设置中运行所有单元测试(c#+ c ++)时,本机单元测试会抛出错误,因为它们不理解/不支持TestCategory-filter功能(请记住:测试用例过滤器)。因此,我想将它分成2个测试运行/批次:c ++和c#。
答案 0 :(得分:0)
测试类别仅适用于C#测试项目。 (在我的环境中测试:TFS2015 VS2015)
如果您只想执行C#单元测试。最简单的方法是在Test assembly文件规范中指定C#测试程序集文件。 您只需要根据与C ++测试项目完全不同的命名模式来识别所有C#单元测试项目。
注意:您必须确保在C ++和C#测试项目之间使用完全不同的命名规则。
例如:
C++test project name : including ABC like ABC1 ,ABC2, ABC3
C# test project name: including XYZ like XYZ1, XYZ2 ,XYZ3
然后在测试程序集文件规范中使用*** XYZ * .dll来运行所有C#测试项目。