2

ASP.NET MVC 4 Web アプリケーションの Visual Studio 2012 で単体テスト プロジェクトに取り組んでいます。このソリューションには 3 つのプロジェクトがあります。

  • 管理UI
  • 単体テスト
  • WebUI

WebUI には、App_GlobalResources フォルダー内に配置用のいくつかの resx ファイルがあり、以下を使用します。

HttpContext.GetGlobalResourceObject("Resources", key).ToString()

文字列を取得します。

次に、ローカライズを使用するアクション メソッドの単体テストを行う必要があります。メソッドの単体テスト中に文字列を取得したいと思います。

これが私がしたことです

GetGlobalResourceObject メソッドをモックすることができ、必要な文字列を送信できます

Resources.resx ファイルをリンクとして UnitTests プロジェクトに追加しました

リンクのプロパティを編集しました:

  • ビルド アクション: 埋め込みリソース
  • 出力ディレクトリにコピー: コピーしないでください
  • カスタム ツール: GlobalResourceProxyGenerator

実際には、次を使用して文字列を取得できます。

Resources.stringName

しかし、元の resx ファイル (WebUI プロジェクトのファイル) に新しい文字列を追加すると、すべてが壊れて、ソリューションを構築できなくなります。

リンクは元のファイルを反映するはずではありませんか?

4

1 に答える 1