При помощи Rhino.Mocks.dll в тесте можно подготовить к примеру заполненую форму (правельно/не правельно) и проверить результат выполнения. Проблема в следуещем: Не получается засунуть данные о файле.
| Код | MockRepository mocks = new MockRepository(); NameValueCollection collection = new NameValueCollection(); collection.Add("ImageTitle", "Image Title Test"); using (mocks.Record()) { HttpFileCollectionBase filecollection = mocks.PartialMock<HttpFileCollectionBase>(); SetupResult.For(filecollection.AllKeys).Return(new String[] { "ImageFile" }); SetupResult.For(filecollection.IsSynchronized).Return(false); mocks.Replay(filecollection);
HttpRequestBase request = mocks.PartialMock<HttpRequestBase>(); SetupResult.For(request.Files).Return(filecollection); SetupResult.For(request.Form).Return(collection); mocks.Replay(request);
HttpPostedFileBase postedfile = mocks.PartialMock<HttpPostedFileBase>(); if (System.IO.File.Exists(@"..\..\..\Tests\Files\test.jpg")) { System.IO.FileStream fs = System.IO.File.Open(@"..\..\..\Tests\Files\test.jpg", System.IO.FileMode.Open); SetupResult.For(postedfile.InputStream).Return((System.IO.Stream)fs); SetupResult.For(postedfile.ContentLength).Return((int)fs.Length); fs.Close(); SetupResult.For(postedfile.ContentType).Return("image/jpeg"); SetupResult.For(postedfile.FileName).Return("File Name Test.jpg"); } else SetupResult.For(postedfile).Return(null); mocks.Replay(postedfile);
SetupResult.For(filecollection["ImageFile"]).Return(postedfile); // тут вылетаем (ошибка: не выполнено)
.... }
|
|