2015-03-03 5 views
1

Привет У меня возникла проблема с тестированием приложения, использующего переменные приложения. Ниже мой метод тестирования. accController.Clist(cIn) вызывает методы, которые используют переменные приложения, которые считываются из файла global.asax. Как и где я объявляю его так, чтобы фактически использовались переменные приложения.Модули тестирования приложений в asp.net mvc

[TestMethod] 
public void TestGetCompanyList() 
{ 
    var accController = new AccSerController(); 
    CInt cInt = new CInt(); 
    cIn.Iss = "Other"; 
    cIn.Tick = "BK"; 
    var result = accController.GetClist(cIn) as IEnumerable<CList>; 
    Assert.IsNotNull(result); 
} 

Я знаю, что насмешка используется, но я не настолько опытен с насмешкой. Также я не писал код (контроллеры, модели и т. Д.), Поэтому я не могу изменить его макет.

Btw У меня нет интерфейсов, абстрактных классов или виртуальных методов, большинство других примеров работают с одним из них.

+0

Думаю, вам нужно использовать насмешку над этим. Взгляните http://stackoverflow.com/questions/12023517/unit-test-controller-that-uses-application-scoped-variables – Dnyanesh

ответ

0

Я смотрел на использовании AmbientContext pattern

Это в основном действует как mockable обертки вокруг переменных, которые являются статическими или иначе трудно получить доступ к

Это позволит вам сохранить ваши переменные приложения объявлены в глобальной .asax, но перезаписать их во время тестирования

Смежные вопросы