46

Microsoft.VisualStudio.TestTools.UnitTesting;を使用した単体テストは初めてです。

これ0.GetType()は実際System.RuntimeTypeにはですが、合格するにはどのようなテストを書く必要がありAssert.IsInstanceOfType(0.GetType(), typeof(int))ますか?

---フォローアップ、これは私自身のユーザーエラーです...Assert.IsInstanceOfType(0, typeof(int))

4

2 に答える 2

80

呼び出しを次のように変更します

Assert.IsInstanceOfType(0, typeof(int));

最初のパラメーターはテスト対象のオブジェクトであり、テスト対象のオブジェクトのタイプではありません。0.GetType()を渡すことにより、「RunTimeType」は、falseであるSystem.intのインスタンスであると言っていました。カバーの下で、呼び出しはただ解決します

if (typeof(int).IsInstanceOfType(0))
于 2009-03-26T16:42:01.283 に答える
19

あるべきように見えます

Assert.IsInstanceOfType(0, typeof(int))

式は現在、RunTimeTypeがRunTimeTypeのインスタンスであるかどうかを評価していますが、そうではありません。

于 2009-03-26T16:42:02.877 に答える