Есть ли способ остановить выполнение тестов из базового класса, но при этом разрешить выполнение этих тестов из его подкласса на Java?

#java #testing #subclass #base-class

#java #тестирование #подкласс #базовый класс

Вопрос:

У меня есть набор тестов в классе A, а класс B расширяет этот класс. Можем ли мы в Java разрешить выполнение этих тестов только из класса B, а не из класса A?

Комментарии:

1. сделать A абстракцию

2. Спасибо. Я протестировал, и это сработало. Почему это работает?

3. добавлено это как ответ с, надеюсь, понятным объяснением

Ответ №1:

Вы можете добиться этого, сделав класс A абстрактным. Тестировщик не может создать экземпляр абстрактного класса, поэтому он не будет запускать тесты для A . Но при проверке класса B он обнаруживает методы из базового класса, и поскольку они допустимы для вызова из производного класса B , он вызывает их.

Вы можете использовать это для определения методов тестирования в A и производных классах B и C из A . В производных классах вы можете предоставить разные настройки, например, подключения к другим службам, а затем использовать одни и те же тесты для обеих настроек.