从dotnet测试中排除名称空间

时间:2019-07-29 14:06:24

标签: c# unit-testing .net-core command-line-interface xunit

我们如何从dotnet test中排除特定的命名空间?

dotnet test --filter FullyQualifiedName~Namespace.Here可用于包含名称空间,但是!~无法识别为排除名称空间。

2 个答案:

答案 0 :(得分:2)

根据https://docs.microsoft.com/en-us/dotnet/core/testing/selective-unit-tests?pivots=mstest,您需要转义感叹号:

使用带有感叹号的过滤器!在* nix上需要自转义!保留。

所以我想你需要做:

dotnet test --filter FullyQualifiedName\!~Namespace.Here

答案 1 :(得分:1)

好吧,让我详细说明一下: 到目前为止,不支持!~运算符(see here)。

如果您想从测试中完全排除特定的命名空间,我认为最好的选择是使用测试类别。首先,它不是您要执行的工作的最佳选择,因为它可能导致名称空间中的每个测试都有一个附加类别,该类别仅声明它在此名称空间中。

但是不幸的是,到目前为止,除了包含项之外,没有其他方法可以按名称空间进行过滤。