Cuke4nuke: Не хватает поддержки разных языков? - PullRequest
0 голосов
/ 28 сентября 2010

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

Я пытался использовать примеры из репозитория Cucumber в GitHub.Вот пример функции, которая не работает:

# language: no
Egenskap: Summering
  For å unngå at firmaet går konkurs
  Må regnskapsførerere bruke en regnemaskin for å legge sammen tall

Scenario: to tall
  Gitt at jeg har tastet inn 5
  Og at jeg har tastet inn 7
  Når jeg summerer
  Så skal resultatet være 12

При компиляции и запуске через Cuke4Nuke сообщение об ошибке выглядит следующим образом:

Cuke4Nuke C: _work \ myProject \ Tests\ Integration.Tests \ bin \ Debug \ Integration.Tests.dll C: _work \ myProject \ Tests \ Integration.Tests \ features -q C: / _ work / myProject / Tests / Integration.Tests / features / summering.feature: ошибка лексированияв строке 2: «Egenskap: Summering».См. http://wiki.github.com/aslakhellesoy/gherkin/lexingerror для получения дополнительной информации.(Gherkin :: Lexer :: LexingError) C: / _ work / tools / Ruby186 / lib / ruby ​​/ gems / 1.8 / gems / gherkin-2.2.4-x86-mingw32 / lib / gherkin / lexer / i18n_lexer.rb: 22:в scan' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/gherkin-2.2.4-x86-mingw32/lib/gherkin/lexer/i18n_lexer.rb:22:in сканирование 'C: / _ работа / инструменты / Ruby186 / lib / ruby ​​/ gems / 1.8 / gems / gherkin-2.2.4-x86-mingw32 / lib / gherkin / parser / parser.rb: 31: в parse' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/feature_file.rb:35:in синтаксический анализ 'C: / _ work / tools / Ruby186 / lib / ruby ​​/ gems / 1.8 / gems / cucumber-0.9.0 / bin /../ lib / cucumber / runtime / features_loader.rb: 28: в load' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/runtime/features_loader.rb:26:in каждый'C: / _ work / tools / Ruby186 / lib / ruby ​​/ gems / 1.8 / gems / cucumber-0.9.0 / bin /../ lib / cucumber / runtime / features_loader.rb: 26: в load' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/runtime/features_loader.rb:14:in функции' C: / _ work / tools / Ruby186 / lib / ruby ​​/ gems / 1.8 / gems / cucumber-0.9.0 / bin /../ lib / cucumber / runtime.rb: 179: в features' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/runtime.rb:32:in запустить! 'C: / _ work / tools / Ruby186 / lib / ruby ​​/ gems / 1.8 / gems / cucumber-0.9.0 / bin /../ lib / cucumber / cli / main.rb: 54: в execute!' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/cli/main.rb:29:in выполнить 'C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/cucumber:8 C: / _ work / tools / Ruby186 / bin / cucumber: 19: in load' load '

Кажется, что cuke4nuke (или Cucumber?) Полностью пропускает объявление # language.Например, следующая функция работает, когда она не должна.

# language: fi
Feature: Addition
In order to avoid silly mistakes
As a math idiot 
I want to be told the sum of two numbers

Scenario Outline: Add two numbers
Given I have entered <input_1> into the calculator
And I have entered <input_2> into the calculator
When I press <button>
hen the result should be <output> on the screen

Examples:
| input_1 | input_2 | button | output |
| 20      | 30      | add    | 50     |
| 2       | 5       | add    | 7      |
| 0       | 40      | add    | 40     |

Какие-нибудь идеи, как я могу сделать Cucumber и Cuke4Nuke, чтобы заметить объявление языка?Мой Ruby имеет версию 1.86, а Cucumber v. 0.9.

1 Ответ

1 голос
/ 28 сентября 2010

Это похоже на ошибку со стороны огурца / корнишона, прежде чем что-то пойдет на Cuke4Nuke.Объявление языка обрабатывается только на стороне огурца.К тому времени, когда подробности шага достигают Cuke4Nuke, ключевые слова исчезают.Скорее всего, вы получите дополнительную помощь в группе cukes (groups.google.com/group/cukes/);Я думаю, что разработчики Cucumber более активны там.

Тем не менее, Cuke4Nuke еще не обрабатывает языки.Вам все равно придется использовать атрибуты Given / When / Then в определениях шагов, а не Gitt / Når / Så, и преобразования строк для аргументов определения шагов не будут использовать правильную культуру, что может вызвать проблемы.Следующий релиз Cuke4Nuke будет включать языковую поддержку.Атрибуты i18n уже есть в последнем источнике, и я работаю над культурой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...