1

我正在尝试为调用该Controller.RedirectToReferrer()方法的操作方法编写单元测试,但收到“没有可用的推荐人”消息。

如何隔离和模拟这种方法?

4

2 回答 2

1

你有没有想过创建一个测试替身

于 2008-09-15T10:18:15.957 回答
0

正在使用的主干版本 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;
    }

等等等等

奇怪的是,您需要调动响应RedirectToReferrer才能使其正常工作。我不得不在单轨资源中爬行才能弄清楚。

于 2008-09-26T02:47:39.277 回答