2008-09-15 17 views

Antwort

1

Haben Sie darüber nachgedacht, eine test double zu erstellen?

+0

Das könnte helfen, so wird ein Mock, nehme ich an. Das Problem besteht darin, dass die PrepareController() - Methode, die in Monorail-Controller-Unit-Tests verwendet wird, bereits einen Stub erstellt und das Response-Objekt unveränderlich ist und keinen Setter hat. Irgendwelche anderen Ideen? (Typemock ist keine Option ATM) –

0

In meine Version des Stammes, gegen den ich arbeite, r5299, musste ich dies tun, um RedirectToReferrer zu verspotten. Ich denke, es wurde in den letzten Commits geändert, ich bin mir nicht sicher.

[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.

Es ist seltsam die Antwort, die Sie belästigen müssen die RedirectToReferrer zur Arbeit zu kommen. Ich musste in den Monorail-Quellen herumkrabbeln, um es herauszufinden.