3

「Assertion.AssertEquals」を使用しているため、非推奨の警告が表示される単体テスト コードを継承しました。

警告 CS0618: 'NUnit.Framework.Assertion' は廃止されました: '代わりに Assert クラスを使用してください'

しかし、Assert クラスには、代わりに使用すべき明白なメソッドが表示されません。

AssertEquals は、2 つのオブジェクトと、エラーが発生した場合にエラーを報告するために使用できるメッセージを受け取ります。例えば

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

Assert クラスの同等のメソッドは何ですか?

4

4 に答える 4

8

Jon Skeetが提示した答えは、いわゆる「クラシック」モデルを指していますが、 John Gietzenの答えは「制約ベースの」モデルを指しています。どちらも正しく、どちらも失敗の場合にメッセージを渡す可能性を提供します。

だから私はこれを結論させてください:

「クラシック」モデル

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

文のように読めるので、後者の方が好きです。

于 2009-09-16T13:07:06.847 に答える
5

これはどう:

Assert.AreEqual(1, pq.Count,
                "Enqueuing first item should set count to 1");
于 2009-09-16T12:58:41.483 に答える
4
Assert.That(a, Is.EqualTo(b),
    "Enqueuing first item should set count to 1");
于 2009-09-16T12:54:03.707 に答える
0

完全な正規表現の置換を行います:

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

次のものに置き換える必要があります。

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

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

次のものに置き換える必要があります。

Assert.That(\2, \1)
于 2011-05-27T11:31:29.607 に答える