什么是Assertion.AssertEquals的"升级路径"?

Pau*_*rth 3 .net nunit assertions

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

警告CS0618:'NUnit.Framework.Assertion'已过时:'使用Assert类代替'

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

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

        Assertion.AssertEquals(
             "Enqueuing first item should set count to 1",
             1, pq.Count);
Run Code Online (Sandbox Code Playgroud)

Assert类中的等价方法是什么?

The*_*man 8

答案Jon Skeet给出了所谓的"经典"模型,而John Gietzen的答案则指的是"基于约束"的模型.两者都是正确的,两者都提供了为失败案件传递信息的可能性.

所以让我总结一下:

"经典"模特

Assert.AreEqual(1, pq.Count,
    "Enqueuing first item should set count to 1");
Run Code Online (Sandbox Code Playgroud)

"基于约束"的模型

Assert.That(
    pq.Count,
    Is.EqualTo(1),
    "Enqueuing first item should set count to 1");
Run Code Online (Sandbox Code Playgroud)

我更喜欢后者,因为它更像是一个句子.


Jon*_*eet 5

这个怎么样:

Assert.AreEqual(1, pq.Count,
                "Enqueuing first item should set count to 1");
Run Code Online (Sandbox Code Playgroud)