Модульное тестирование Monorail's RedirectToReferrer () - PullRequest
1 голос
/ 15 сентября 2008

Я пытаюсь написать модульный тест для метода действия, который вызывает метод Controller.RedirectToReferrer(), но я получаю сообщение "Реферер недоступен".

Как я могу изолировать и смоделировать этот метод?

Ответы [ 2 ]

1 голос
/ 15 сентября 2008

Задумывались ли вы о создании двойного теста ?

0 голосов
/ 26 сентября 2008

В моей версии транка, против которой я работаю, r5299, мне пришлось сделать это, чтобы смоделировать RedirectToReferrer. Я думаю, что это было изменено в последних коммитах, я не уверен.

[TestFixture]
public class LoginControllerTests : GenericBaseControllerTest<LoginController>
{
    private string referrer = "http://www.example.org";
    protected override IMockRequest BuildRequest()
    {
        var request = new StubRequest(Cookies);
        request.UrlReferrer = referrer;

        return request;
    }

    protected override IMockResponse BuildResponse(UrlInfo info)
    {
        var response = new StubResponse(info,
                                        new DefaultUrlBuilder(),
                                        new StubServerUtility(),
                                        new RouteMatch(),
                                        referrer);
        return response;
    }

и т.д.. и т.д.

Странно, но Response вам нужно приставать, чтобы заставить RedirectToReferrer работать. Мне пришлось ползти по монорельсовым источникам, чтобы понять это.

...