Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Unit Test + Rhino.Mocks.dll


Автор: pr0fess0r 16.8.2008, 14:01
При помощи 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); // тут вылетаем (ошибка: не выполнено)

                ....
            }


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)