У меня есть метод, который внутренне вызывает methodB, но основанный на определенном условии
methodA(Req req)
{
if(req.Quantity > 10)
{
_someIinterface.methodB(req);
}
}
, и у меня есть несколько условий, где
amount = 1 -> methodB () не будет выполнен
количество = 5 -> methodB () не будет выполнено
количество = 11 -> методB () будет выполнено
количество = 4 -> methodB () не будет выполнено
ТАК У меня есть тестовый пример, такой как
[Theory]
[JsonFileData("TestData.json", "ScenarioRequest")]
public void TestMethodB()
{
Mock<SomeInterface> moq= new Mock<SomeInterface>();
moq.Setup(x=>x.methodB(It.IsAny<Req>())).Verifiable();
sut.methodA(req);
moq.Verify(x=>x.methodB(It.IsAny<Req>()),Times.Once());
}
источник JsonFileData от https://andrewlock.net/creating-a-custom-xunit-theory-test-dataattribute-to-load-data-from-json-files/
Так что в этом случае тестовые сценарии 1 и 2 Сбой, но тестовый сценарий 3,4 проходит, хотя тестовый набор 4 имеет количество 4. Кто-нибудь знает, как тестировать такие случаи?