Question

J'essaie d'écrire un test unitaire pour une méthode d'action qui appelle la méthode Controller.RedirectToReferrer () , mais j'obtiens un " aucun référent disponible " message.

Comment puis-je isoler et se moquer de cette méthode?

Était-ce utile?

La solution

Avez-vous pensé à créer un double test ?

Autres conseils

Dans ma version du coffre sur lequel je travaille, r5299, je devais le faire pour simuler RedirectToReferrer. Je pense que cela a été changé récemment, je ne suis pas sûr.

[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;
    }

etc. etc.

C’est curieusement la réponse que vous devez molester pour que RedirectToReferrer fonctionne. J'ai dû ramper dans les sources de monorail pour le comprendre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top