1

我有一个我想要运行的数千个 NUnit 测试的列表(由另一个工具自动生成)。(这是所有测试的子集,并且经常更改)

我希望能够通过 NUnit-Console.exe 运行这些。不幸的是, /run 选项仅采用文件的直接列表,在我的情况下,这些文件不适合单个命令行。我希望它从文件名中提取列表。

我很欣赏我可以使用类别,但我想要运行的列表经常更改,因此我不想开始更改源代码。

有谁知道是否有一种干净的方法可以让 NUnit 运行我指定的测试?(我可以用完整的命令行将它分解为一系列对 NUnit-console 的较小调用,但这不是很优雅)

(如果不可能,也许我应该将其添加为 NUnit 功能请求。)

4

3 回答 3

3

Charlie Poole (来自 NUnit 开发团队)回复说,这目前是不可能的,但已作为 NUnit 2.6 的功能请求添加

于 2011-08-19T04:31:08.290 回答
1

我明白你在说什么,但就像你说的,你可以从命令行运行一个固定装置。

nunit-console /fixture:namespace.fixture tests.dll

在同一个夹具中生成所有测试怎么样?还是将它们全部放在同一个组件中?

nunit-console tests.dll
于 2011-08-18T09:54:08.100 回答
0

nunitLink中所述,我们需要提及场景/测试用例名称。它很简单,但它有一点技巧。直接提及测试用例名称不会达到目的,您最终会执行 0 个测试用例。我们需要为此编写确切的路径。

我不知道它如何适用于其他语言,但使用 c# 我找到了解决方案。每当我们创建一个功能文件时,都会在 Visual Studio 中创建相应的 feature.cs 文件。单击 featureFileName.feature.cs 并查找命名空间并将其放在一边(第 1 部分)

namespace MMBank.Test.Features

向下滚动一点,您将获得班级名称。请注意并将其放在一边(第 2 部分)

public partial class HistoricalTransactionFeature

继续向下滚动,您将看到 nunit 基本理解执行的代码。

[NUnit.Framework.TestAttribute()]
[NUnit.Framework.DescriptionAttribute("TC_1_A B C D")]
[NUnit.Framework.CategoryAttribute("MM_Bank")]

在代码下方,您可以看到很可能是 TC_1_ABCD(某些参数)的函数/方法名称

public virtual void TC_1_ABCD(string username, string password, string visit)

您将有多种基于否的此类方法。您在功能文件中的场景。记下您要执行的方法(测试用例)并将其放在一边(第 3 部分)

现在用点整理所有部分。最后你会得到这样的东西,

MMBank.Test.Features.HistoricalTransactionFeature.TC_1_ABCD

就是这个。同样,您可以从多个功能文件创建测试用例名称并将它们堆叠在文本文件中。每个测试用例名称应该在不同的行。对于命令,您可以浏览上面的 nunit 链接以使用命令提示符执行。

于 2016-07-07T13:59:22.963 回答