C# NUnit 3.2.0控制台执行

C# NUnit 3.2.0控制台执行,c#,nunit,regression,C#,Nunit,Regression,我正在尝试从nunit控制台运行多个类别。在低于3.0的版本中,我以 nunit.exe“mydll.dll”/run/include=Category1,Category2 我希望使用nunit 3.2.0类似地使用它。知道我该怎么用吗?我知道/include选项在上面的3.0版本中已经被替换,应该用作--where。下面是我试图运行它的方式 下面是没有运气尝试过的选项 nunit3-console.exe "mydll.dll" --where:cat==Category1,Category

我正在尝试从nunit控制台运行多个类别。在低于3.0的版本中,我以

nunit.exe“mydll.dll”/run/include=Category1,Category2

我希望使用nunit 3.2.0类似地使用它。知道我该怎么用吗?我知道/include选项在上面的3.0版本中已经被替换,应该用作--where。下面是我试图运行它的方式

下面是没有运气尝试过的选项

nunit3-console.exe "mydll.dll" --where:cat==Category1,Category2
nunit3-console.exe "mydll.dll" --where:cat==Category1&&Category2
nunit3-console.exe "mydll.dll" --where:cat==Category1||Category2

有人能帮我一次性执行多个类别吗?

要将多个条件连接在一起,您需要每个条件都是实际条件-因此我认为您需要:

--where:cat==Category1||cat==Category2
或者更容易理解:

"--where:cat == Category1 || cat == Category2"
引用可能是必要的,以防止shell期望“|”也很重要

这对我来说很好。演示:

using NUnit.Framework;

public class TestDemo
{
    [Test, Category("X")]
    public void TestX()
    {
    }

    [Test, Category("Y")]
    public void TestY()
    {
    }

    [Test, Category("Z")]
    public void TestZ()
    {
    }
}
汇编:

csc /target:library /r:nunit.framework.dll TestDemo.cs
运行:

结果:

Test Count: 2, Passed: 2, Failed: 0, Inconclusive: 0, Skipped: 0

要将多个条件连接在一起,您需要每个条件都是实际条件-因此我认为您需要:

--where:cat==Category1||cat==Category2
或者更容易理解:

"--where:cat == Category1 || cat == Category2"
引用可能是必要的,以防止shell期望“|”也很重要

这对我来说很好。演示:

using NUnit.Framework;

public class TestDemo
{
    [Test, Category("X")]
    public void TestX()
    {
    }

    [Test, Category("Y")]
    public void TestY()
    {
    }

    [Test, Category("Z")]
    public void TestZ()
    {
    }
}
汇编:

csc /target:library /r:nunit.framework.dll TestDemo.cs
运行:

结果:

Test Count: 2, Passed: 2, Failed: 0, Inconclusive: 0, Skipped: 0

这两种选择都不起作用。我不知道我在做什么wrong@RajanPhatak:你到底观察到了什么?它总是给我提供执行力help@RajanPhatak:对于单个过滤器,它是否可以做到这一点?另外,你是说NUnit的3.2.0吗?我找不到可下载的3.0.2版本…尝试将其切换到--“cat==Category1 | | cat==Category2”,尽管Jon的答案适用于NUnit 3.2,至少在PowerShell中是这样。这两个选项都不起作用。我不知道我在做什么wrong@RajanPhatak:你到底观察到了什么?它总是给我提供执行力help@RajanPhatak:对于单个过滤器,它是否可以做到这一点?另外,你是说NUnit的3.2.0吗?我找不到可下载的3.0.2版本…尝试将其切换到--“cat==Category1 | | cat==Category2”,尽管Jon的答案对我来说适用于NUnit 3.2,至少在PowerShell中是这样。