junit3 создает тестовые профили: макет против реальных классов
Я работаю над приложением Adroid, поэтому я не могу использовать Junit 4. Я использую Eclipse Kepler.
Я сделал ряд тестов, которые тестируют фиктивные классы.
Это хорошо, но теперь я хотел бы сделать это:
1) назовите эту ситуацию "FastMockProfile"
2) создать новый профиль "SlowRealProfile"
3) иметь возможность выбрать (простым щелчком мыши), хотите ли вы запускать мои тесты с помощью "FastMockProfile" или "SlowRealProfile".
В зависимости от профиля: будут выполняться одни и те же тесты, но тестируемые классы будут зависеть от выбранного профиля.
Можно ли сделать это?
1 ответ
Я думаю, что простой способ сделать это - скопировать ваши тестовые классы. Исходные классы содержат макеты, а дубликаты получают реальные классы для тестирования. Затем вам нужно создать два комплекта Testsuites, которые содержат Mocktests или "Realtests". Выберите Testsuite, чтобы запустить свой профиль.
Лучшим способом является внедрение зависимостей, где вы можете выбрать, какая реализация (фиктивная или реальная) ваших классов должна быть внедрена при запуске ваших тестов. Есть некоторые фреймворки, такие как Spring или Guice для внедрения зависимостей в Java.