1

カスタム モデル バインダーをテストするために、多くの単体テストを作成しています。

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; }

}

4

0 に答える 0