有一个单元测试检查在某些情况下会抛出异常,理论上可以有几个这样的异常,它们在消息属性的值上有所不同。有一个想法是检查message的值。这是一个好主意吗?会不会导致未来出现一些不可预知的转折,影响测试的可维护性等?他们真的这样做吗?
测试方法示例:
public void SomeTestMethod(string input)
{
if (string.IsNullOrEmpty(input))
{
throw new BadRequestException("не указано значение параметра input");
}
if (input.Contains("drop"))
{
throw new BadRequestException("параметр input содержит недопустимый аргумент");
}
}
测试:
[Fact]
public void SomeTestMethod_EmptyInput_ThrowException()
{
// Act & Assert
var exception = Assert.Throws<BadRequestException>(() => Sut.SomeTestMethod(string.Empty));
Assert.Equal("не указано значение параметра input", exception.Message);
}
[Fact]
public void SomeTestMethod_EmptyInput_ThrowException()
{
// Act & Assert
var exception = Assert.Throws<BadRequestException>(() => Sut.SomeTestMethod("drop"));
Assert.Equal("параметр input содержит недопустимый аргумент", exception.Message);
}