1
我有一個.NET MVC應用程序,我正在使用NUnit編寫一些單元測試。ModelState.IsValid拋出一個異常類型System.IO.FileLoadException
這是我目前正在測試功能:
[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);
}
與我注意到調試器步進只要我進入。新增( )方法行if (ModelState.IsValid)
拋出異常
ModelState.IsValid拋出了一個例外類型 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; }
}
提供AddInstrumentViewModel的代碼 – Fran
您使用的是什麼版本的.net。我無法重現錯誤。當我重新創建示例的最小版本時,它會運行完成。同時顯示如何設置模擬服務 – Nkosi
'FileLoadException'通常會給出以下消息:'無法加載文件或程序集...'。檢查更多的錯誤細節,內部異常和可能的缺失參考。 –