2016-11-22 8 views
0

Итак, у меня есть следующий модульный тест для действия контроллера (MVC 5). Цель теста для того, чтобы изменить действие контроллера возвращает модель типа Contact:C# unit tests: Можно ли использовать условный доступ вместо Debug.Assert?

[TestMethod] 
    public void Edit_ValidContactIdPassed_ShouldReturnEditViewWithContact() 
    { 
     var result = _controller.Edit(1) as ViewResult; 
     result?.ViewData.Model.Should().BeOfType<Contact>(); 
    } 

Как вы можете видеть, я использую условный доступ на result объекте вместо (?):

 Debug.Assert(result != null, "result != null"); 

Я считаю, что условный доступ более читабельен, но есть ли проблемы с этим в контексте модульного теста?

+0

Похож на этот вопрос для http://codereview.stackexchange.com/ – tym32167

+0

Это зависит от того, что тестирует ваш тест. Если в спецификации указано, что всегда должен быть результат, тогда проверка на null может скрыть ошибку. –

+0

Какова цель этого теста? На самом деле читайте, как создавать правильные имена методов. – mybirthname

ответ

1

Ну, если вы проверяете тест var result и должен быть отрицательный, если в этом случае вы будете предотвратить ошибку от увольнения, как с системой условного доступа == null предотвратить потенциальный NullPointerException

Assert.IsNotNull(result); 

В конце концов, это не так уж плохо :)!

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

  • Нет связанных вопросов^_^