You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jira Xray中展示NUnit多TestCase生成的独立测试用例

问题:NUnit参数化测试导入Jira Xray时仅生成单个测试用例

我用C# .NET Core 3.0搭配NUnit框架编写API单元测试,执行后会生成Testresult.xml文件,将其导入Jira Xray用来创建测试套件。目前同一个测试方法下包含3个[TestCase],Testresult.xml里能看到所有测试记录,但导入Xray后只生成一个名为LCC_ThermostateMode_FlyCatcher_Positive的测试用例,而且没有对应的TestCase参数信息,应该是因为方法名重复被覆盖了。怎么才能让每个TestCase在Jira Xray中生成独立的测试用例?

代码示例:

#region --ThermostatMode--
//[Category("AllDevices")]
[Category("FlyCatcher")]
[TestCase("Cool","LCC","FlyCatcher")]
[TestCase("Heat","LCC","FlyCatcher")]
[TestCase("Off", "LCC","FlyCatcher")]
public void LCC_ThermostateMode_FlyCatcher_Positive(string TestCaseID,string deviceType, string deviceName)
{
    UnitTest_ThermostateMode_FlyCatcher.LCC_ThermostateMode_FlyCatcher_Positive(test, extent, TestCaseID, deviceType, deviceName, JsonInputDetail);
}
#endregion
解决方案
  • 给每个TestCase设置唯一名称
    用NUnit的[TestCase]属性的TestName参数,为每个参数化测试指定唯一名称,这样Xray会识别为不同的测试用例。修改后的代码示例:

    [TestCase("Cool","LCC","FlyCatcher", TestName = "LCC_ThermostateMode_FlyCatcher_Positive_Cool")]
    [TestCase("Heat","LCC","FlyCatcher", TestName = "LCC_ThermostateMode_FlyCatcher_Positive_Heat")]
    [TestCase("Off", "LCC","FlyCatcher", TestName = "LCC_ThermostateMode_FlyCatcher_Positive_Off")]
    

    这样生成的Testresult.xml里每个测试会带有唯一名称,Xray导入时就不会覆盖,而是生成独立的测试用例。

  • 确保测试结果XML包含参数信息
    检查NUnit的测试结果输出配置,确认参数信息被正确写入Testresult.xml。NUnit默认会记录参数,但如果有自定义配置,要保证<test-case>节点里包含<parameters>子节点——Xray需要这些信息来把参数关联到测试用例上。

  • 用TestCaseID关联已有Xray测试用例(可选)
    如果你已经在Xray里创建了对应每个TestCase的测试用例,可以把第一个参数设为Xray的测试用例ID(比如TC-123),然后在导入时配置Xray识别这个参数作为测试用例的唯一标识,这样会直接关联到已有用例,而非创建新的。需要在导入设置里指定“测试用例ID字段”对应你传入的TestCaseID参数。

内容的提问来源于stack exchange,提问作者Vivek Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:50:26