2016-05-29 13 views
3

私はいくつかの単体テストを処理していますが、なぜこの特定のテストが失敗しているのかわかりません。MSTest Assert.AreEqualが文字列配列で失敗する

このテストでは、カスタムビューエンジンがビューの正しい場所を検索することを確認します。

私のカスタムビューエンジンはこれですで:

AreaMasterLocationFormats = new[] 
{ 
    "~/Areas/{2}/App/{1}/Views/{0}.cshtml", 
    "~/Areas/{2}/App/Shared/Views/{0}.cshtml" 
}; 

そして、私のテストでは、このです:

Message: Assert.AreEqual failed. Expected:<System.String[]>. Actual:<System.String[]>. 

(S /:

string[] expected = new[] 
{ 
    "~/Areas/{2}/App/{1}/Views/{0}.cshtml", 
    "~/Areas/{2}/App/Shared/Views/{0}.cshtml" 
}; 

CustomRazorViewEngine engine = new CustomRazorViewEngine(); 

Assert.AreEqual(expected, engine.AreaMasterLocationFormats); 

テストはメッセージで失敗oの見積もり形式は、その2番目のltを好まない...)

私はテストがすべて正常に表示されるようにデバッグするとき、わかりません。

+0

がわからないを参照してください、それは正しかった... – jleach

+0

、私はwasn 'sure 'string []'は実際には 'Collection'です。 – haim770

+0

@ haim770どうやらテストが今通り過ぎているのを見ているように見えます。 – jleach

答えて

3

あなたが代わりにCollectionAssertを使用する必要があります。現時点では

CollectionAssert.AreEqual(expected, engine.AreaMasterLocationFormats); 

は(あなたがいた誰)あなたがあなたの答えを削除した理由をMSDN

関連する問題