【问题标题】:Unit Testing Monorail's RedirectToReferrer()单元测试 Monorail 的 RedirectToReferrer()
【发布时间】:2008-09-15 09:40:40
【问题描述】:

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

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

【问题讨论】:

    标签: c# unit-testing castle-monorail


    【解决方案1】:

    你有没有想过创建一个test double

    【讨论】:

    • 这可能会有所帮助,我认为模拟也会有所帮助。问题是 Monorail 控制器单元测试中使用的 PrepareController() 方法已经创建了一个存根,并且 Response 对象是不可变的并且没有设置器。还有其他想法吗? (Typemock 不是可选的 ATM)
    【解决方案2】:

    在我正在处理的 my 版本的主干 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 才能工作。我不得不在单轨车源中四处搜寻才能弄清楚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多