无参数NUnit单元测试出现Parameter Count mismatch错误求助
解决NUnit无参数测试触发"Parameter Mismatch error"问题
问题原因
你用[TestCase()]标记无参数测试方法,在NUnit 3.12.0.0版本中,这个写法会被解析为试图传入空参数集合,但你的测试方法本身没有定义参数,因此触发了参数不匹配的错误。[TestCase]属性的设计初衷是为带参数的测试提供数据输入,无参数场景下的标准标记并非带空括号的[TestCase()]。
修复方案
方案一:使用无参数测试的标准标记
直接将[TestCase()]替换为[Test]属性,这是NUnit中标记无参数测试的规范写法:
[Test] public void TestGroupA_None() { }
方案二:保留[TestCase]但去掉空括号
如果需要统一测试标记风格,也可以去掉[TestCase()]的空括号,写成[TestCase],NUnit 3.x会正确识别这是无参数测试:
[TestCase] public void TestGroupA_None() { }
补充说明
NUnit 3.x中,[TestCase]不带参数时属于合法的无参数测试标记,但带空括号的[TestCase()]会被判定为传入空参数组,与无参数方法的签名冲突,从而抛出参数不匹配异常。
内容的提问来源于stack exchange,提问作者user3312266
相关产品推荐
相关产品推荐

