Огурец @javascript ломает вызовы SQL в Oracle - PullRequest
0 голосов
/ 28 июля 2011

Я использую Ruby on Rails 3.0.7 Cucumber 1.0.1 и Oracle в качестве базы данных. У меня есть собственный локальный пользователь / схема для моей базы данных разработки, но я также подключаюсь к другой базе данных Oracle только для чтения. Кто-то в моей работе создал драгоценный камень, который позволяет мне общаться с этой другой базой данных и получать доступ к ее моделям. Допустим, мы называем эту другую базу данных Servo. Тогда я могу сделать что-то вроде Servo::ModelName.all и все другие обычные звонки.

Oracle, генерируемый этим, выглядит примерно так: SELECT * FROM "SERVO"."MODELNAMES"; Обратите внимание, что он добавляет имя базы данных SERVO.

Теперь я пишу тест на огурец, который иногда в моих пользовательских шагах использует Servo. Это все работает отлично. В новом сценарии, который я пишу, используется тег @javascript. Если какой-либо шаг (в фоновом режиме или в сценарии) не использует сервопривод, тогда он работает нормально. Однако, если я действительно использую сервопривод, он ломается. Сгенерированный Oracle SQL внезапно SELECT * FROM "MODELNAMES";, и он больше не знает о другой базе данных.

Итак, есть идеи, почему это происходит? Почему @javascript внезапно меняет генерируемый SQL? Я не смог найти хорошую документацию о том, что еще он делает, кроме запуска Firefox.

Я уверен, что другие, возможно, захотят узнать больше информации, но я не хотел задавать этот вопрос, так что просто дайте мне знать, если вам нужны более подробные сведения.

1 Ответ

1 голос
/ 28 июля 2011

Основное отличие, которое @javascript представит на стороне приложения, заключается в том, что вы используете веб-сервер вместо того, чтобы направлять запросы напрямую через стойку.Я бы изучил эти знания и выяснил, нет ли чего-то, что вы делаете в инициализаторе, или чего-то, на что может повлиять другой контекст.

...