Как я могу узнать, работает ли код в тесте JUnit или нет?

В моем коде я должен сделать определенные меры только, когда он выполняется в тесте JUnit. Как я могу узнать, работает ли код в тесте JUnit или нет? Есть ли что-то как JUnit.isRunning () == верно?

54
задан Dr. Max Völkel 26 February 2010 в 03:37
поделиться

2 ответа

Прежде всего, это, вероятно, не очень хорошая идея. Вы должны проводить модульное тестирование реального производственного кода, а не немного другого кода.

Если вы действительно хотите это сделать, вы можете посмотреть на стектрейс, но поскольку вы все равно меняете свою программу для этого, вы можете с тем же успехом ввести новое статическое поле boolean isUnitTesting в свой код, и попросить JUnit установить его в true. Будьте проще.

25
ответ дан 7 November 2019 в 07:55
поделиться

Если вы делаете что-то по-другому, потому что вы делаете модульный тест, вы нарушаете цель модульного теста. Предполагается, что модульный тест должен работать точно так же, как и на производстве (за исключением установки и удаления всех необходимых данных и тому подобного, что вам нужно...., но это включено в сам тест JUnit, а не в ваш код).

Однако, если у вас действительно есть веская причина для этого, я бы посмотрел на стек и посмотрел, есть ли там JUnit.

4
ответ дан 7 November 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: