如何使用--其中;NUnit 3控制台中的参数?

如何使用--其中;NUnit 3控制台中的参数?,nunit,nunit-3.0,nunit-console,Nunit,Nunit 3.0,Nunit Console,NUnit 3在控制台中有“--where”参数,允许我们选择要运行的不同测试。它可以包括不同的名称空间或测试类别 我想(但不知道如何)包含一些名称空间来运行测试。我有一些具体的例子,请你帮忙 假设我们有下一个带有测试的名称空间: Project.MainSuite(包括1个测试) Project.MainSuite.Category1(有2个测试) Project.MainSuite.Category1.TestSuite1(有3个测试) 如何使用--where参数运行下一个测试: 仅从Pro

NUnit 3在控制台中有“
--where
”参数,允许我们选择要运行的不同测试。它可以包括不同的名称空间或测试类别

我想(但不知道如何)包含一些名称空间来运行测试。我有一些具体的例子,请你帮忙

假设我们有下一个带有测试的名称空间:

  • Project.MainSuite(包括1个测试)
  • Project.MainSuite.Category1(有2个测试)
  • Project.MainSuite.Category1.TestSuite1(有3个测试)
  • 如何使用--where参数运行下一个测试:

  • 仅从
    Project.MainSuite.Category1进行测试(应运行2个测试)
  • 来自
    Project.MainSuite.Category1
    Project.MainSuite.Category1.TestSuite1
    的测试一起进行(应运行5个测试)
  • 来自
    Project.MainSuite
    的所有测试,包括子名称空间(应运行6个测试)
  • 提前感谢您的帮助。这有帮助吗

    这应该适用于类别
    ——其中“cat==SmokeTests”-noresult


    对于名称空间:
    ——其中test==“My.namespace”和cat==emergency

    我最近遇到了类似的问题,希望得到一个可靠的答案

    对你的问题的简短回答是,如果你不更加明确,你就不能做你要做的事情

    当您使用
    --where“test==Project.MainSuite”
    (项目中最高的命名空间)的where子句运行测试时,它将运行该命名空间和所有子命名空间中的所有测试

    如果使用
    --where“test==Project.MainSuite.Category1.TestSuite1”
    (Project.MainSuite中最低的子命名空间)的where子句运行测试,它将只运行该命名空间内的所有测试

    你可以做一些事情来达到你想要达到的目标

    1。仅从
    Project.MainSuite.Category1进行测试

    ——其中“class==Project.MainSuite.Category1.ClassWithTests”

    只需明确说明此命名空间内的类。 或者,如果您担心将来在此命名空间中添加更多测试,并且不想更新脚本来运行测试。您可以将类别属性添加到此命名空间内的套件/测试,并基于该类别运行它们

    ——其中“cat==testsincategoritynamespace”

    2。来自
    Project.MainSuite.Category1
    Project.MainSuite.Category1.TestSuite1
    的测试一起进行

    类似地,对于这个场景,您可以将category和class子句组合在一起。
    ——其中“cat==testsincategory1命名空间和class==Project.MainSuite.Category1.TestSuite1”

    3。来自
    Project.MainSuite
    的所有测试,包括子名称空间


    --where test==Project.MainSuite

    您看到了吗?是的,没有帮助。我要求您提供具体的3个示例。您给出的示例仅适用于第三个示例。你能给另外两个人举个例子吗?也许这也很有趣