Из того, что я понимаю: с помощью параметризованных тестов вы можете подавать серию статических входов в тестовый набор.
Теории похожи, но различны по своей концепции.Идея, стоящая за ними, заключается в создании тестовых случаев, которые проверяют предположения, а не статические значения.Поэтому, если мои предоставленные тестовые данные верны в соответствии с некоторыми допущениями, полученное в результате утверждение всегда детерминировано.Одна из движущих идей заключается в том, что вы сможете предоставить бесконечное количество тестовых данных, и ваш тестовый пример все равно будет верным;Кроме того, часто вам необходимо проверить множество возможностей в тестовых входных данных, например, отрицательные числа.Если вы тестируете это статически, то есть вводите несколько отрицательных чисел, это не гарантирует, что ваш компонент будет работать против всех отрицательных чисел, даже если это очень вероятно.
Из того, что я могу сказать, фреймворки xUnit пытаются применять концепции теорий, создавая все возможные комбинации предоставленных вами тестовых данных.
Оба должны использоваться при приближении к сценарию в управляемой даннымисценарий (т.е. меняются только входные данные, но тест всегда делает одни и те же утверждения снова и снова).
Но, поскольку теории кажутся экспериментальными, я бы использовал их, только если мне нужно было протестировать серию комбинаций в моемвходные данные.Для всех остальных случаев я бы использовал параметризованные тесты.