カスタム モデル バインダーをテストするために、多くの単体テストを作成しています。
ViewModel には、リソース ファイルを参照するデータ注釈があります。
最初は App_GlobalResources ディレクトリにあるリソース - モデルにバインドすると、リソース ファイルがテスト プロジェクトで利用できなかったため、ファイルが見つからないというエラーが発生しました。
投稿http://odetocode.com/blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspxは、.rex ファイルを別のディレクトリに移動し、カスタムを変更することを提案していますツールを PublicResXFileCodeGenerator に
これで先に進むように見えますが、エラーが発生しました
{"指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした。\"NameSpace.Address.resources\" がコンパイル時にアセンブリ \"Application.UI\" に正しく埋め込まれているか、リンクされていることを確認してください。必要なサテライト アセンブリは読み込み可能で、完全に署名されています。"}
リソース ファイルを埋め込むことができ、これで問題は解決しますが、リソース ファイルをコンテンツとして保持する必要があります。
単体テストでリソース ファイルを参照するクラスにアクセスする方法はありますか?
ViewModelは次のとおりです
public class CollectOrderDetails
{
protected Guid _Id = Guid.NewGuid();
[Required(ErrorMessageResourceType = typeof(Resources.PersonalDetails), ErrorMessageResourceName = "Form_Title_ErrorRequired")]
public string Title { get; set; }
[Required(ErrorMessageResourceType = typeof(Resources.PersonalDetails), ErrorMessageResourceName = "Form_FirstName_ErrorRequired")]
public string FirstName { get; set; }
}