Я создал базовый набор модульных тестов на PHP. Он показывает, пройден ли тест, и время, затраченное на его выполнение. Это прекрасно работает, но я столкнулся с проблемой, и я не уверен, как ее решить. Кажется, что для выполнения каждого начального модульного теста каждого класса модульных тестов требуется больше времени, чем для других в этом классе, обычно значительным фактором.
Как пример:
TestClass1
- Test1.1 (0.042395)
- Испытание 1,2 (0,000392)
- Испытание 1,3 (0,000325)
- Испытание 1,4 (0,000645)
TestClass2
- Test2.1 (0.042395)
- Test2.2 (0.000392)
- Test2.3 (0.000325)
- Test2.4 (0.000645)
Я предполагаю, что начальное время теста также влияет на загрузку ресурсов, но я не могу привести первый тест в соответствие с другими временами. Каждый тест имеет запущенные методы setUp и tearDown. Я также пытался повторить тот же самый тест под другим именем, и он выполняется в ожидаемое более короткое время, поэтому первый тест всегда имеет некоторые накладные расходы.
PHP не имеет какой-либо функции unloadClass или unloadFile, поэтому я не уверен, смогу ли я воссоздать непротиворечивую тестовую среду для каждого теста, если у первого теста есть издержки загрузки ресурсов в память. Я пробовал предварительно загружать файлы и создавать экземпляры начального класса, но ни один из них, похоже, не дает результатов.
Могут ли я упустить другие возможности, которые могут повлиять на начальное время тестирования? Как правильно решить эту проблему?
Примечание : я знаю о существующих платформах модульного тестирования PHP, но я пытаюсь сделать что-то немного другое, поэтому, пожалуйста, не говорите "Просто используйте PHPUnit", так как это не так полезно, помогая мне решить эту проблему.