我继承了一些单元测试代码,它给了我一个弃用警告,因为它使用了“Assertion.AssertEquals”:
警告CS0618:'NUnit.Framework.Assertion'已过时:'使用Assert类代替'
但是,我不能在Assert类中看到我应该使用的明显方法吗?
AssertEquals接受两个对象和一条消息,如果出现故障,可以使用该消息报告错误。 e.g。
Assertion.AssertEquals(
"Enqueuing first item should set count to 1",
1, pq.Count);
Assert类的等效方法是什么?
答案 0 :(得分:8)
答案Jon Skeet表示所谓的“经典”模型,而John Gietzen's答案指的是“基于约束”模型。两者都是正确的,两者都提供了为失败案件传递信息的可能性。
所以让我总结一下:
“经典”型号
Assert.AreEqual(1, pq.Count,
"Enqueuing first item should set count to 1");
“基于约束”模型
Assert.That(
pq.Count,
Is.EqualTo(1),
"Enqueuing first item should set count to 1");
我更喜欢后者,因为它更像是一个句子。
答案 1 :(得分:5)
这个怎么样:
Assert.AreEqual(1, pq.Count,
"Enqueuing first item should set count to 1");
答案 2 :(得分:4)
Assert.That(a, Is.EqualTo(b),
"Enqueuing first item should set count to 1");
答案 3 :(得分:0)
完整的正则表达式替换:
Assertion\.AssertEquals(\(.*\),\(.*\),\(.*\))
应替换为:
Assert.That(\2, \1, \0)
Assertion.Assert(\(.*\),\(.*\))
应替换为:
Assert.That(\2, \1)