Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何使用MvcContrib.TestHelper测试asp.net mvc post操作_Asp.net Mvc_Unit Testing_Routing_Mvccontrib Testhelper - Fatal编程技术网

Asp.net mvc 如何使用MvcContrib.TestHelper测试asp.net mvc post操作

Asp.net mvc 如何使用MvcContrib.TestHelper测试asp.net mvc post操作,asp.net-mvc,unit-testing,routing,mvccontrib-testhelper,Asp.net Mvc,Unit Testing,Routing,Mvccontrib Testhelper,我试图使用优秀的MvcContrib.TestHelper测试我的路由配置,但遇到了一个问题 请假设我的路由配置设置正确,并在TestFixture中初始化 我有一个名为Create的控制器(TransactionController)操作,它接受TransactionRecord类型的输入参数: [Trace, AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(TransactionRecord tx) {

我试图使用优秀的MvcContrib.TestHelper测试我的路由配置,但遇到了一个问题

请假设我的路由配置设置正确,并在TestFixture中初始化

我有一个名为Create的控制器(TransactionController)操作,它接受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());
        }
[测试]
public void TestRoute\u POST\u Transactions\u Create()
{
“~/Transactions/”.WithMethod(HttpVerbs.Post).ShouldMapTo(x=>x.Create());
}
我的问题是Create()方法接受TransactionRecord类型的参数,我不知道如何将其合并到测试中


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

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

[Test] 
public void TestRoute_POST_Transactions_Create() 
{ 
"~/Transactions/".WithMethod(HttpVerbs.Post).ShouldMapTo<Web.Controllers.Tr ansactionsController>(x 
=> x.Create(null)); 
} 
[测试]
public void TestRoute\u POST\u Transactions\u Create()
{ 
“~/Transactions/”
=>x.Create(null));
} 
回答由mvccontrib讨论组提供:

我刚刚发现了一个类似的问题,这个问题比我的问题更具说服力