C# ASP.NET内核中的单元测试标准ViewModel活页夹

C# ASP.NET内核中的单元测试标准ViewModel活页夹,c#,unit-testing,asp.net-core,asp.net-core-mvc,C#,Unit Testing,Asp.net Core,Asp.net Core Mvc,我有这样一个ViewModel: public class BraintreeCallbackApiModel { [ModelBinder(Name = "bt_signature")] public string Signature { get; set; } [ModelBinder(Name = "bt_payload")] public string Payload { get; set; } } 这些值作为x-www-form-urlencoded

我有这样一个ViewModel:

public class BraintreeCallbackApiModel
{
    [ModelBinder(Name = "bt_signature")]
    public string Signature { get; set; }

    [ModelBinder(Name = "bt_payload")]
    public string Payload { get; set; }
}
这些值作为
x-www-form-urlencoded
参数发布到控制器。我想对绑定行为进行单元测试,
bt_签名
字段正确映射到
签名

我希望避免使用
TestServer
HttpClient
,因为在这种情况下不需要额外的开销


我在上查看了ModelBinder测试,但无法将其绑定到我的模型类

正如@SirRufo所说,在这种情况下,单元测试可能只检查
ModelBinder
类是否运行良好,这已经由ASP.NET核心团队进行了测试

如果您想要进行一个测试,当有人更改
bt_签名
字段名(在模型类或请求参数中)时,该测试将被破坏,那么您需要编写一个功能测试。因此,您需要使用
TestServer
运行应用程序,并执行真正的请求(例如通过
HttpClient


如果有兴趣的话,调查一下

正如@SirRufo所说,在这种情况下,单元测试可能只检查
ModelBinder
类是否运行良好,这已经由ASP.NET核心团队进行了测试

如果您想要进行一个测试,当有人更改
bt_签名
字段名(在模型类或请求参数中)时,该测试将被破坏,那么您需要编写一个功能测试。因此,您需要使用
TestServer
运行应用程序,并执行真正的请求(例如通过
HttpClient


如果有兴趣的话,调查一下

测试已经测试过的零件,您期望得到什么?您是否曾经遇到过模型绑定器失败的情况?我想对其进行测试,以便知道是否有人删除了ModelBinder属性,或在字段名称中键入了错误。然后编写一个测试,检查属性和名称是否存在。是的。。。我想我会这么做的。。。谢谢。你对测试一个已经测试过的部件有什么期望?您是否曾经遇到过模型绑定器失败的情况?我想对其进行测试,以便知道是否有人删除了ModelBinder属性,或在字段名称中键入了错误。然后编写一个测试,检查属性和名称是否存在。是的。。。我想我会这么做的。。。谢谢。当然,我不打算测试
ModelBinder
是否工作正常;)我不想确定,这个模型的绑定配置是正确的。正如我在问题中所说的,我知道我可以用
TestServer
来做,但我想通过单元测试使它更轻松……当然,我不打算测试
ModelBinder
是否工作正常;)我不想确定,这个模型的绑定配置是正确的。正如我在问题中所说的,我知道我可以用
TestServer
来实现它,但我想通过单元测试使它更轻巧。。。