Если вы хотите только проверить предварительные условия, то создайте экземпляр тестируемого класса, передайте аргументы, которые приведут к ожидаемому поведению, и подтвердите, что это происходит так, как ожидалось.
Нет необходимости даже издеваться надзависимость, если она не требуется для выполнения теста до завершения.
Например,
[TestClass]
public class AwsTests {
[Test]
public void Should_Throw_For_Null_TableName() {
//Arrange
var subject = new SubjectUnderTest(null);
ArgumentNullException exception = null;
var expected = "tableName";
//Act
try {
subject.BatchSave<object>(null, null);
} catch (ArgumentNullException e) {
exception = e;
}
//Assert
exception.Should().NotBeNull();
exception.ParamName.Should().Be(expected);
}
[Test]
public void Should_Throw_For_Null_Items() {
//Arrange
var subject = new SubjectUnderTest(null);
ArgumentNullException exception = null;
var expected = "items";
//Act
try {
subject.BatchSave<object>("fakeTableName", null);
} catch (ArgumentNullException e) {
exception = e;
}
//Assert
exception.Should().NotBeNull();
exception.ParamName.Should().Be(expected);
}
}
. Вышеприведенное тестирует два if
условия метода в качестве тестовых единиц изоляции, предоставляятолько то, что необходимо для безопасного выполнения теста до его завершения.