У меня есть приложение .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);
}
Шагая с помощью отладчика я заметил, что как только я вхожу в .Add () метод линия if (ModelState.IsValid)
сгенерирует исключение
ModelState.IsValid сгенерировал исключение типа System.IO.FileLoadException
На самом деле, это бросил исключение, не говоря мне, когда ни где
EDIT
Это код для моего 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' часто дает это сообщение:' Не удалось загрузить файл или сборку ... '. Проверьте дополнительные сведения об ошибках, внутренние исключения и возможные недостающие ссылки. –