В последнее время я очень взволнован, когда читаю об идее тестирования на основе свойств.
Но у меня есть 1 вопрос, на который я до сих пор нигде не могу найти ответ:
Как тестирование на основе свойств может гарантировать, что оно будет каждый раз проверять крайние случаи?
Чтобы быть более конкретным, скажем, я использую ScalaCheck для проверки моей функции деления:
def divide(a: Int, b: Int): Int
Поскольку тестовые случаи будут генерироваться случайным образом, как я могу быть уверен, что ScalaCheck каждый раз будет проверять случай, где b = 0
?