MSTest测试用例参数化:如何为测试用例命名?
为MSTest数据驱动测试用例命名的方法
在MSTest框架中,你可以通过给[DataRow]属性添加DisplayName参数,为每个数据驱动的测试用例指定自定义名称,让测试结果更易读。
修改后的代码示例:
[TestClass] public class RegressionTests { [DataRow(SendProposalRequest.systemError, false, 110, SystemValidations.SystemErrorText, DisplayName = "验证系统错误场景(错误码110)")] [DataRow(SendProposalRequest.proposalError, false, 22, SystemValidations.PTErrorText, DisplayName = "验证提案错误场景(错误码22)")] [DataRow(SendProposalRequest.financeError, false, 22, SystemValidations.FTErrorText, DisplayName = "验证财务错误场景(错误码22)")] [DataRow(SendProposalRequest.noFinance, false, 53, SystemValidations.noFinanceErrorText, DisplayName = "验证无财务信息场景(错误码53)")] [DataRow(SendProposalRequest.annualMileage, false, 22, SystemValidations.annualMileageErrorText, DisplayName = "验证年度里程错误场景(错误码22)")] [DataRow(SendProposalRequest.loanAmountBoth, false, 33, SystemValidations.loanAmountBothErrorText, DisplayName = "验证贷款金额双项错误场景(错误码33)")] // 注:原代码中重复了提案错误的DataRow,可根据实际需求保留或删除 [DataRow(SendProposalRequest.proposalError, false, 22, SystemValidations.PTErrorText, DisplayName = "验证提案错误场景(重复用例)")] [DataTestMethod] public void ValidationTests(string requestType, bool valid, int errorCode, string errorText) { TestSetup.TestSetupMethod(requestType, valid, errorCode, errorText); } }
说明:
- 每个
[DataRow]的DisplayName参数值就是该测试用例的自定义名称,会在测试运行器(如Visual Studio测试资源管理器)中显示。 - 命名时建议包含测试场景的核心信息(如错误类型、错误码),方便快速定位测试结果。
内容的提问来源于stack exchange,提问作者kieranm007
相关产品推荐
相关产品推荐

