У меня есть следующий тест:
[Test]
public void VerifyThat_WhenHasInterceptorIsCalledWithAComponentModelThatHasTheLogAttribute_TheReturnValueIsTrue()
{
// Arrange
Mock<ComponentModel> mock = /* ... */;
LoggingInterceptorsSelector selector = new LoggingInterceptorsSelector();
// Act & Assert togheter
Assert.That(selector.HasInterceptors(mock.Object), Is.True);
}
Что-то не так с объединением Act & Assert?
Что нужно сделать, чтобы исправить эту проблему, если она неправильная?
EDIT:
Как насчет этого вида теста:
[Test]
[Category("HasInterceptors() Tests")]
public void VerifyThat_WhenHasInterceptorsIsCalledWithANullComponentModel_AnArgumentNullExceptionIsThrown()
{
LoggingModelInterceptorsSelector selector = new LoggingModelInterceptorsSelector();
Assert.That(new TestDelegate(() => selector.HasInterceptors(null)), Throws.TypeOf<ArgumentNullException>());
}
Для правильного утверждения акт и утверждение должны быть в одной строке.По крайней мере, это то, что я понимаю из этого.
Как насчет этого:
[Test]
[Category("HasInterceptors() Tests")]
public void VerifyThat_WhenHasInterceptorsIsCalledWithANullComponentModel_AnArgumentNullExceptionIsThrown()
{
LoggingModelInterceptorsSelector selector = new LoggingModelInterceptorsSelector();
var testDelegate = new TestDelegate(() => selector.HasInterceptors(null));
Assert.That(testDelegate, Throws.TypeOf<ArgumentNullException>());
}
Это лучше соответствует шаблону AAA?