测试夹具参数的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