说,我们有以下的单元测试:使NUnit的失败上无效的测试参数
[Test]
public void OneAndOneTest(int one)
{
Assert.That(1 + one, Is.EqualTo(2));
}
编译器将接受该代码。但是测试本身是不正确的,因为它应该是[TestCase(1)]
而不是[test]
。当用Nunit专门运行这个测试时,它会给出一个错误,说有一个参数不匹配。但是,当我在解决方案中运行所有测试时,我会得到一个“跳过”结果,而不是所述错误。
本地这是一个烦恼。但是在写作时你应该测试过你的测试,所以它不是太大的问题。 (应该是这里的关键字...)
但是,当Jenkins运行时说要测试它应该总是失败。由于我工作的地方允许在某些情况下跳过测试,因此未能在跳过的测试上构建不成功。
问题与Nunit(我认为)。我的本地系统和Jenkins都运行NUnit可执行文件并贯穿可执行文件的输出。我的本地系统将它移植到Dot覆盖中,而Jenkins将它转储到稍后在构建过程中分析的XML文件中。
长话短说:是存在的,与NUnit的,这是一种失败运行在具有参数不正确的量
您使用的是什么版本的NUnit?我用NUnit 3.6试过同样的事情,测试和总体结果都是“失败”......这可能是NUnit的旧版本的问题吗? –
测试无效,应该给出错误而不是失败。总体结果应该是失败的。除非在NUnit的早期版本中认为无效测试被跳过,否则不应该跳过它。要给出真正的答案,需要知道所涉及的框架和跑步者的版本。 – Charlie
版本上的好点。在检查时,我注意到我们正在运行一个令人惊讶的旧版本(2.6.4)。我会在今天晚些时候更新它,看看是否有帮助。 –