У нас есть Java-код, который мы в идеале хотели бы работать в трех направлениях:Java утверждают без исключения
- сгенерирует исключение, когда
assert
не удается - печать стека, но в противном случае продолжить, когда
assert
не удается - игнорировать
assert
Это будет работать в трех различных средах (разработка, тестирование, производство, соответственно). Мы можем переключаться между первым и последним, используя опцию -ea
JVM, но можно ли сделать вторую?
Спасибо.
EDIT: у нас уже есть утверждения везде. мы предпочитаем менять эту опцию во время выполнения без изменения нашего кода.
Зачем вам нужно # 2 в тестовой среде? Утверждения представляют собой операторы, которые должны всегда передаваться, а если нет, это ошибка. (Честно говоря, я предпочитаю # 1 в разработке, тестировании, производстве _and_.) –
Мы не хотим, чтобы 'assert' производился на случай, если мы что-то упустили. Мы не хотим, чтобы 'assert' разрушал нашу тестовую среду, например бета-сайт. Мы хотим знать об ошибках, не испытывая остановки. – Jayen