MvcContrib のテスト ヘルパーと Rhino Mocks 3.5 を使用して、ASP.NET MVC アクション メソッドをテストしています。次のように偽のコントローラーを作成します。
var _builder = new TestControllerBuilder();
_builder.InitializeController(_controller);
そのため、偽の HTTP サーバーなどを含む偽のコントローラーを取得します。
次に、 Server.MapPath メソッドを次のようにスタブしようとしています
controller.Server.Stub(x => x.MapPath(Arg<string>.Is.Anything)).Return("/APP_DATA/Files/");
しかし、テスト中の私のメソッドでは、 Server.MapPath("/APP_DATA/Files/") への呼び出しは null を返します。
これがテストです
const string STOCK_NUMBER_ID = "1";
const string FULL_FILE_PATH = "App-Data/Files";
var controller = CreateStockController();
_uploadedFileTransformer.Stub(x => x.ImageBytes).Return(new byte[10]);
_uploadedFileTransformer.Stub(x => x.ConvertFileToBytes(FULL_FILE_PATH)).Return(true);
controller.Server.Stub(x => x.MapPath(Arg<string>.Is.Anything)).Return("/App_Data/Files/");
controller.AddImage(Guid.NewGuid(), STOCK_NUMBER_ID);
私は何が欠けていますか?