在 ASP.NET MVC 2 中测试模型绑定
第一的;我知道我不需要测试 MVC 的内部结构,但我确实需要一套围绕流入我们系统的数据进行测试的套件。
我希望在不模拟所有 HTTP 上下文的情况下,如何测试 objectA(表单集合、字典、集合、对象等)是否符合 objectAModel?
我不想实例化我的控制器或调用操作。我只是想测试我的新对象是否使模型状态无效。
我希望我能简单地写
var modelState = new ModelBindingContext<objectAModel>().validate(objectA);
First; I know that I should not need to test the internals of MVC but I REALLY need a suite a tests around data flowing into our system.
How can I, I hope without mocking all of HTTP context, test that objectA (form collection, dict, collection, object, etc) does or does not conform to objectAModel?
I'd like to not have to instantiate my controller or call the action. I simply want to test if my new object invalidates the modelstate.
I wish I could simply write
var modelState = new ModelBindingContext<objectAModel>().validate(objectA);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Brad Wilson 有一篇关于 DataAnnotations 的优秀帖子
Brad Wilson has an excellent post on DataAnnotations
非常简单,您可以实现一个方法来提取模型类型的
ModelMetadata
,获取ModelValidator
,并验证模型对象。我所说的“简单”是指这不一定要考虑所有可能的配置,但您可以对模型的有效性进行基本检查。
Very simply, you can implement a method that pulls the
ModelMetadata
for your model's type, gets theModelValidator
, and validates the model object.By "simply", I mean this does not necessarily take all possible configurations in to consideration, but you can get a basic check on your model's validity.