测试夹具参数的NUnit测试名称模板是什么?

测试夹具参数的NUnit测试名称模板是什么?,nunit,Nunit,因此,{a}引用了测试用例参数,但是在测试用例的全名中我们可以看到测试夹具参数。例如: C:\DFDeploymentSmokeTests\LocalTestProfiles> $xml = [xml](cat ..\TestResults\CSTests.xml) C:\DFDeploymentSmokeTests\LocalTestProfiles> $TestCase = $xml.SelectSingleNode('//test-case') C:\DFDeploymentS

因此,
{a}
引用了测试用例参数,但是在测试用例的全名中我们可以看到测试夹具参数。例如:

C:\DFDeploymentSmokeTests\LocalTestProfiles> $xml = [xml](cat ..\TestResults\CSTests.xml)
C:\DFDeploymentSmokeTests\LocalTestProfiles> $TestCase = $xml.SelectSingleNode('//test-case')
C:\DFDeploymentSmokeTests\LocalTestProfiles> $TestCase.name
SiteCheck
C:\DFDeploymentSmokeTests\LocalTestProfiles> $TestCase.fullname
Web.ForEachWebServer(nan4dfc1app01_10.192.78.221_smoketest.dayforce.com).SiteCheck
C:\DFDeploymentSmokeTests\LocalTestProfiles>
nan4dfc1app01\u 10.192.78.221\u smoketest.dayforce.com是testfixture参数的
ToString()
结果,NUnit将其包含在测试用例的全名中

但是,似乎没有办法在
--test name format
命令行参数中提供它

还是我错了,有办法

澄清

我不想更改测试的全名,只想更改它的名称。我的问题是fixture下的测试名使用
TestFixtureSource
。实际上,假设fixture名称是
F
,它下面的测试是
T1
T2
,fixture被调用两次,参数是
A1
A2
。默认的测试名称模式是
{m}{a}
,但是
{a}
不包括夹具参数。因此,测试报告显示这些测试名称(不是全名):

这就是它在Azure DevOps测试中的显示方式(发布测试插件在发布结果时使用测试名称)

我想将名称更改为等于全名,因为全名是:

F(A1).T1
F(A1).T2
F(A2).T1
F(A2).T2

我意识到如果名称是
F(A1).T1
,那么全名将是
F(A1).F(A1).T1
,但由于UI不显示全名,我可以接受。

测试用例的全名始终是附加到包含类的全名之后的名称(默认或由您设置)。这是无法改变的

更新:根据您的说明,您希望测试用例名称包括传递给特定fixture实例的参数。使用当前的“静态”设计,这也是不可能的

[这里以一种特殊的方式使用“静态”和“动态”。从某种意义上说,所有这些都是动态的,因为它发生在您执行运行程序时。但我们使用它的意思是“在加载(创建、发现)测试时预先确定”,而不是“在每次测试执行时确定”。]

在发现(并命名)测试时尚未实例化任何装置。
TestCaseSource
方法运行的代码正在生成测试名称,以用于测试装置的每个实例。我们本可以用不同的方法来完成,但是……嗯,我们没有,因为没有人想到这个用例

对不起


PS:有一个长期存在的NUnit问题,要求创建(我们称之为“动态”测试用例,它可以很容易地包含您要求的功能。

测试用例的全名始终是附加到包含类的全名之后的名称(默认或由您设置)。无法更改这一点

更新:根据您的说明,您希望测试用例名称包含传递给特定fixture实例的参数。使用当前的“静态”设计,这也是不可能的

[这里以一种特殊的方式使用“静态”和“动态”。从某种意义上说,所有这些都是动态的,因为它发生在您执行运行程序时。但我们使用它的意思是“在加载(创建、发现)测试时预先确定”,而不是“在每次测试执行时确定”。]

在发现(并命名)测试时,尚未实例化任何装置。运行
TestCaseSource
方法的代码正在生成用于测试夹具的每个实例的测试名称。我们本可以做得不同,但是。。。我们没有,因为没有人想到这个用例

对不起


PS:有一个长期存在的NUnit问题,要求创建(我们称之为“动态”测试用例,它可以很容易地包括您要求的功能。

请参阅我的说明。更新我的回答以反映您的说明。恐怕还是没有乐趣。请看我的澄清。更新我的回答以反映您的澄清。恐怕还是没有乐趣。
F(A1).T1
F(A1).T2
F(A2).T1
F(A2).T2