2017-02-22 40 views
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); 
} 

Шагая с помощью отладчика я заметил, что как только я вхожу в .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; } 
    } 
+0

введите код для AddInstrumentViewModel – Fran

+0

Какую версию .net вы используете. Я не могу воспроизвести ошибку. Он заканчивается, когда я воссоздаю минимальную версию вашего примера. Также покажите, как настроен сервисный модуль – Nkosi

+0

'FileLoadException' часто дает это сообщение:' Не удалось загрузить файл или сборку ... '. Проверьте дополнительные сведения об ошибках, внутренние исключения и возможные недостающие ссылки. –

ответ

1

У меня была та же проблема. Просто обновите & объединить пакеты nuget. Я не уверен, что именно, потому что между ними существует много зависимостей.

Смежные вопросы