c# - ModelState.IsValid 引发了 System.IO.FileLoadException 类型的异常

标签 c# .net asp.net-mvc testing nunit

我有一个 .NET MVC 应用程序,我正在使用 NUnit 为其编写一些单元测试。

这是我目前正在测试的功能:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Add(AddInstrumentViewModel model)
{
    if (ModelState.IsValid)
    {
        var group = new FtpServerGroup
        {
            Disabled = true,
            FtpLastPullTime = DateTime.Now,
            FtpPullInterval = TimeSpan.Zero,
        };

        await db.CreateAsync(group, model.Address, model.Username, model.Password);

        // go back to card view
        var res = await db.GetAll();
        return RedirectToAction("Index", res);
    }

    return View(model);
}

这是实际测试:

[Test]
public async Task Test()
{
    var controller = new AutomaticTransferController(mockService.Object);

    var model = new AddInstrumentViewModel
    {
        Address = "124.124.124.124",
        Password = "123456",
        Username = "John Foo"
    };

    var res = await controller.Add(model);
}

使用调试器我注意到,只要我进入 .Add() 方法,行 if (ModelState.IsValid) 就会抛出异常

ModelState.IsValid threw an exception of type System.IO.FileLoadException

事实上,它在没有告诉我何时何地的情况下抛出异常

编辑

这是我的 InstrumentViewModel 的代码

    using System.ComponentModel.DataAnnotations;

    public class AddInstrumentViewModel
    {
        [Display(Name = "IP Address or Domain Name")]
        [Required]
        [RegularExpression(@"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$")]
        public string Address { get; set; }

        [Display(Name = "FTP Username")]
        [Required]
        public string Username { get; set; }

        [Display(Name = "FTP Password")]
        [Required]
        public string Password { get; set; }
    }

最佳答案

我遇到了同样的问题。只需更新和整合 nuget 包。我不确定到底是哪个:)

关于c# - ModelState.IsValid 引发了 System.IO.FileLoadException 类型的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42397441/

相关文章:

c# - 如何让 WebBrowser 控件显示现代内容?

c# - 向网络服务添加参数是否有害?

c# - 使用 var 实际上很慢吗?如果是这样,为什么?

javascript - 想要将脚本的 'src' 设置为我的 IP - 无法在 Safari 或 Chrome 中加载。相对链接asp.netmvc

c# - 无法注销身份 MVC 5 应用程序

Json 字符串中的 C# Json 字符串

c# - 更新 mdb 数据库表

c# - SQL Real 和 .NET double 之间的转换

c# - 使用JavaScript从Com Visible dll调用.net dll时出错

c# - 如何在azure上上传图像列表并检索已上传图像的地址