Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
C# 通过测试检测坏请求_C#_Asp.net Core_Mstest - Fatal编程技术网

C# 通过测试检测坏请求

C# 通过测试检测坏请求,c#,asp.net-core,mstest,C#,Asp.net Core,Mstest,我有两个项目:Api和Api.Tests 我想向API发送无效的DTO,然后检查是否接收到BadRequest(状态代码) 我的代码: var user = new UserDTO {...}; IActionResult response = await new UsersController().Post(user); Assert.IsInstanceOfType(response, typeof(Microsoft.AspNetCore.Mvc.BadRequestResult));

我有两个项目:Api和Api.Tests

我想向API发送无效的DTO,然后检查是否接收到BadRequest(状态代码)

我的代码:

var user = new UserDTO {...};
IActionResult response = await new UsersController().Post(user);

Assert.IsInstanceOfType(response, typeof(Microsoft.AspNetCore.Mvc.BadRequestResult));
错误:

---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)结果2消息:Assert.IsInstanceOfType失败。预期 类型:。实际的 类型:


错误显示我已收到“Ok”,但我已与Postman进行了检查,并收到了BadRequest。

与使用Postman的集成测试相比,单独的单元测试将产生不同的结果。考虑内存测试服务器的本地集成测试。参考:您如何验证模型?是否通过
DataAnnotation
?@AnkitVijay和fluent验证fluent验证将在到达控制器之前返回错误请求。这就是为什么你会收到邮递员不好的要求。您需要创建集成测试而不是UnitTest来验证您的场景