Что такое «путь обновления» из Assertion.AssertEquals? - PullRequest
3 голосов
/ 16 сентября 2009

Я унаследовал некоторый код модульного теста, который выдает предупреждение об устаревании, поскольку он использует «Assertion.AssertEquals»:

предупреждение CS0618: «NUnit.Framework.Assertion» устарело: «Вместо этого используйте класс Assert»

Однако я не вижу очевидного метода в классе Assert, который я должен использовать вместо этого?

AssertEquals принимает два объекта и сообщение, которое можно использовать для сообщения об ошибке в случае сбоя. например,

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

Какой эквивалентный метод в классе Assert?

Ответы [ 4 ]

8 голосов
/ 16 сентября 2009

Ответ Джон Скит представил пункты так называемой «Классической» модели, тогда как Ответ Джона Гитцена относится к модели «на основе ограничений». Оба правы, и оба предоставляют возможность передать сообщение в случае сбоя.

Итак, позвольте мне сделать вывод:

Модель "Классик"

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

Я предпочитаю последнее, так как оно больше похоже на предложение.

5 голосов
/ 16 сентября 2009

Как насчет этого:

Assert.AreEqual(1, pq.Count,
                "Enqueuing first item should set count to 1");
4 голосов
/ 16 сентября 2009
Assert.That(a, Is.EqualTo(b),
    "Enqueuing first item should set count to 1");
0 голосов
/ 27 мая 2011

Замените полное регулярное выражение:

Assertion\.AssertEquals(\(.*\),\(.*\),\(.*\))

следует заменить на:

Assert.That(\2, \1, \0)

А Assertion.Assert(\(.*\),\(.*\))

следует заменить на:

Assert.That(\2, \1)
...