ここで見つけることができる前の質問に関連して:
「ソリューションですべてのテストを実行」を使用すると、テストが失敗する
試験方法:
[TestMethod]
public void AMAC_Route_Maps_to_AMACController()
{
"~/amac/".ShouldMapTo<AMACController>(action => action.Index());
}
ルート:
routes.MapRoute(
name: "AMAC",
url: "amac/",
defaults: new { controller = "AMAC", action = "Index" }
);
返されたエラー:
テストメソッドMBS.Exec.Enquiry.MVC.Tests.AMACControllerTest.AMAC_Route_Maps_to_AMACControllerが例外をスローしました:MvcContrib.TestHelper.AssertionException:URLがどのルートとも一致しませんでした
このエラーは、ソリューションですべてのテストを実行した場合にのみスローされます。テストをそのクラスから分離して実行すると、合格します。
例として、実際に合格する同様のコントローラーのテストメソッドがあります。以下は、テストメソッドとそのルートのコードです。
試験方法
[TestMethod]
public void HVM_Route_Maps_to_HVMController()
{
"~/hvm/".ShouldMapTo<HVMController>(action => action.Index());
}
ルート:
routes.MapRoute(
name: "HVM",
url: "hvm/",
defaults: new { controller = "HVM", action = "Index" }
);
このテストではエラーは発生しません。