Я пытаюсь написать несколько динамических тестов на PHP.
Идея состоит в том, что некоторые части моего кода тестируют себя (на основе аннотаций).
У меня это работает в одну сторону; мой тестовый класс имеет один метод testRun
и провайдер данных testRunProvider
который проверяет каждый метод по очереди с заданным набором данных, который сам генерируется динамически. Это работает, однако, когда тест не пройден, он не очень читабелен, так как есть только один тест с разными данными.
Я пробовал множество комбинаций создания тестов и наборов в тесте, у которого есть поставщик, который передает его методы, что, насколько я могу судить, должно означать, что для каждого тестируемого метода я создаю для него новый набор тестов, которые я потом тоже передаю.
Самое близкое, что я получил, — это получить название «нового» теста для показа, но он никогда не завершается, и бегущий не распознает новый тест в общем количестве.
Таким образом, оказывается, что я был почти там — вы можете определить пользовательский набор тестов, поместив статическую функцию с именем suite
который принимает в качестве аргумента название набора.
В чем я ошибался, так это в том, что я не возвращал созданный им пакет.
Других решений пока нет …