我继承了一些单元测试代码,它给了我一个弃用警告,因为它使用“Assertion.AssertEquals”:

警告 CS0618:“NUnit.Framework.Assertion”已过时:“改用 Assert 类”

但是,我在 Assert 类中看不到应该使用的明显方法?

AssertEquals 接受两个对象和一条消息,如果出现故障,可使用该消息报告错误。例如

        Assertion.AssertEquals(
             "Enqueuing first item should set count to 1",
             1, pq.Count);

Assert 类的等效方法是什么?

最佳答案

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");

我更喜欢后者,因为它读起来更像是一个句子。

关于.net - Assertion.AssertEquals 中的 "upgrade path"是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1432776/

10-11 21:18