2011-08-09 4 views
0

IがのApplication_Startによって記入さGlobal.asaxの上に静的変数を使用してコントローラのアクションを持っている....ここでc#(asp.net mvc):global.asaxの変数を使用するコントローラをテストしますか?

は、単純なサンプルコードときに試験における

string url = VirtualPathUtility.Combine(MvcApplication.BaseU, "/geturl"); 

もちろんです私はその呼ばれないようMvcApplication.BaseUが

NULLである私のコントローラをテストし、正しくこれを行うための最善の選択肢である何のGlobal.asax

からのApplication_Startによって記入のですか?

答えて

1

本当に便利すべてのアイデアは私が悪いのApplication_Start

によって埋められるGlobal.asaxの に静的変数を使用してコントローラのアクションを持っています。コントローラーがこの値をコンストラクター・パラメーター(コンストラクター・インジェクション)として使用し、適切な値を渡すようにDIフレームワークを構成するように、コードをリファクタリングすることができます。今すぐあなたのユニットテストでは、テストのための模擬値を渡すのは簡単な問題です。

関連する問題