-1

私はいくつかの生産コードを持っています

private bool IsTypeEqual(object theFirstObject, object theSecondObject)
{
       if(theFirstObject.GetType()==theSecondObject.GetType())
       {
               return true;
       }
       else
       {
                return false;
       }
}

次に、このコードの単体テスト ケースを作成する必要があります。NMock を使用してオブジェクトを作成しています。したがって、2 つの異なるクラスのオブジェクトを渡すときは、else 部分に移動する必要があります。しかし、実際には両方のオブジェクトをモックしているので、GetType() は両方のオブジェクトの MockObject タイプを返します。どうすればこの問題を解決できますか。

4

2 に答える 2

0

「theFirstObject」または「theSecondObject」をモックする必要はありません。これらのクラスがどうなろうと本当に気にする必要はありません。必要なのは、結果が正しいと主張することだけです。

私があなただったら、別の型を渡して、それが真か偽かをアサートします。

Assert.AreEqual(false, IsTypeEqual("HelloWorld", 192));

Assert.AreEqual(true, IsTypeEqual("Hello", "World"));
于 2009-09-24T15:26:12.537 に答える
-1

このコードがお役に立てば幸いです。

private bool IsTypeEqual<TMockedType>(object theFirstObject, object theSecondObject)
{
    Matcher matcher = Is.TypeOf(typeof(TMockedType));

    return matcher.Matches(theFirstObject) && matcher.Matches(theSecondObject);
}
于 2009-07-22T12:06:53.973 に答える