Я ищу хороший подход для тестирования инструмента, который я разрабатываю.
Инструмент представляет собой искровую библиотеку, написанную на Scala, с хорошо разработанным набором модульных тестов, которые проверяют всю логику программного обеспечения.,Мы также создали Python API, используя py4j для использования этой библиотеки в Python (аналогично тому, что pySpark для spark).
Я хотел бы начать писать тестовый конвейер, но я не уверен в подходе.Стоит отметить, что до сих пор основными ошибками, которые у нас были, были
- , публичный метод в Scala был забыт и не реализован в python
- публичный метод в Scala был введен в заблуждение.сторона python при взаимодействии с py4j
конвейер тестирования должен сводить на нет эти и, как мы надеемся, больше ошибок.
Лично я вижу здесь два подхода
копировать тесты Scala или создавать новые подобные им, где логика тестируется в его компоненте
использовать какой-то механизм отражения, где в Python мы проверяем, что публичные методы определенного объекта Scalaбыли реализованы и что эти методы фактически устанавливают параметры, как и ожидалось (через установщики / получатели)
Я не смог найти какой-либо существующий подход к этому виду модульного тестирования, и я лично более убежденчто добавление усилий в 2 даст лучший результат, так как мы на самом деле тестируем функциональность программного обеспечения python.
Я хотел бы знать, что вы думаете, и если у вас есть какие-либо источники или библиотеки, чтобы проверить, чтобы настроить мой набор