Когда я запускаю java-тесты, которые используют генерируемые объекты xmlbeans, иногда в тесте gradle при использовании установщика объект попадает в неизвестное состояние. Вот пример (псевдокод):
XmlBeansDoc doc = SomeXmlBeansGeneratedDocument.factory.newInstance();
doc.addSomeObject();
XmlbeansObj obj = doc.getSomeObject();
obj.setSomeIntValue(1);
Сразу после использования метода setSomeIntValue(), если вы попытаетесь получить значение, оно возвращает ошибку. Однако, если вы снова используете метод setSomeIntValue(), все работает нормально, и значение действительно установлено.
Кажется, это ТОЛЬКО происходит при запуске теста в Gradle. Если я использую ту же самую банку, которую использует Gradle, но запускайте тест в ANT, все работает отлично. Я подтвердил, что и ANT, и Gradle используют ту же версию java (1.7.45).
Любые идеи относительно того, почему это может произойти? Мы находимся в процессе переключения нашей системы сборки от ANT/ivy до Gradle, но если мы не сможем получить эту работу, это может быть шоу-стоппер. Спасибо за помощь
Похоже, что это было в конечном счете из-за того, что по умолчанию была установлена градация с включенными Java Assertions, а муравей нет.