0

我正在尝试使用出色的 MvcContrib.TestHelper 测试我的路由配置,但遇到了问题。

请假设我的路由配置已正确设置并在 TestFixture 中进行了初始化。

我有一个名为 Create 的控制器 (TransactionsController) 操作,它采用 TransactionRecord 类型的输入参数:

    [Trace, AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Create(TransactionRecord tx)
    {
        ...
    }

目前我的测试如下:

        [Test]
        public void TestRoute_POST_Transactions_Create()
        {
            "~/Transactions/".WithMethod(HttpVerbs.Post).ShouldMapTo<Web.Controllers.TransactionsController>(x => x.Create());
        }

我的问题是 Create() 方法采用 TransactionRecord 类型的参数,我不知道如何将其合并到我的测试中。

我找不到任何这种性质的例子。

4

1 回答 1

2

由于 TransactionRecord 是从发布数据创建的,只需将 null 传递给您的测试:

[Test] 
public void TestRoute_POST_Transactions_Create() 
{ 
"~/Transactions/".WithMethod(HttpVerbs.Post).ShouldMapTo<Web.Controllers.Tr ansactionsController>(x 
=> x.Create(null)); 
} 

回答由 mvccontrib 讨论组提供: http ://groups.google.com/group/mvccontrib-discuss/browse_thread/thread/2839edd5ad3c5258

于 2010-02-02T13:43:57.630 回答