У меня есть интеграционный тест, который проверяет на WebFlow всякий раз, когда он reachs определенную точку в коде контроллера испытывается я вижу ошибку, аналогичную:Grails Groovy Синтаксис Сахар не добавляется в тестах интеграции WebFlow на вводе команды линии
org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.code[email protected]ac0e86f in state 'blahQuestions' of flow 'blahBlah' -- action execution attributes were 'map[[empty]]'
at grails.test.WebFlowTestCase.signalEvent(WebFlowTestCase.groovy:142)
at com.blah1.blah2.blah3.blah4.BlahFlowIntegrationTests.testblahQuestions(BlahFlowIntegrationTests.groovy:91)
Caused by: groovy.lang.MissingPropertyException: No such property: blahMessage for class: org.springframework.webflow.core.collection.LocalAttributeMap
at com.blah1.blah2.blah3.blah4.BlahController$_closure2_closure15_closure22.doCall(BlahController.groovy:178)
бросает оскорбительная деталь: flow.blahMessage = ''
, где flow.put('blahMessage', '')
работает без ошибок. Это происходит только тогда, когда я запускаю тесты из командной строки: grails test-app integration:
, тест от eclipse RightClick on test -> Run As -> Grails Command (test-app)
работает нормально.
Grails 2.2.3
Почему это происходит и как я могу это исправить?
Update:
При запуске теста с помощью командной строки сам по себе тест будет проходить, но если я бегу все интеграционные тесты он терпит неудачу.
Вы писали: «Извините BalRog, опечатка была моей плохой в вопросе, в фактическом коде, который они соответствуют, мне нужно изменить его на политику, я должен был бы дважды проверить все орфографию». На самом деле я тоже ошибся. Я намеревался опубликовать свой «ответ» в качестве комментария. Я взял его сейчас. – BalRog
Вы также писали: «Я подозреваю, что это рассматривается как класс фиксированной собственности. Я просто не знаю, почему, поскольку он отлично работает в фактическом коде». Похоже, что «LocalAttributeMap» не позволит вам добавлять новые атрибуты (карта ключи) после инициализации набора атрибутов. Возможно ли, что вы создали экземпляр «LocalAttributeMap» в одном контексте, но не в другом? – BalRog
Что касается двух разных способов установки значения, одна строка является единственной разницей, когда я запускаю тесты, нет другого изменения кода между тестовыми запусками. Я использую 'setCurrentState ('blahQuestions')' вместо начала потока с самого начала. Однако код одной строки меняет исправления, поэтому я не думаю, что это связано. –