Проверка вывода из «команды» должна содержать неожиданный сбой с NilClass - PullRequest
5 голосов
/ 15 февраля 2012

Чтобы использовать Cucumber для сценария командной строки, я установил гем aruba согласно предоставленным инструкциям.Он находится в моем Gemfile, я могу убедиться, что установлена ​​правильная версия, и я включил

require 'aruba/cucumber'

в 'features / env.rb'

Чтобы убедиться, что он работает, янаписал следующий сценарий:

@announce
Scenario: Testing cucumber/aruba
    Given a blank slate
Then the output from "ls -la" should contain "drw"

, предполагая, что вещь должна потерпеть неудачу.

Она не работает, но не по неправильным причинам:

@announce
Scenario: Testing cucumber/aruba                 
    Given a blank slate                        
    Then the output from "ls -la" should contain "drw"
        You have a nil object when you didn't expect it!
        You might have expected an instance of Array.
        The error occurred while evaluating nil.[] (NoMethodError)
        features/dataloader.feature:9:in `Then the output from "ls -la" should contain "drw"'

У кого-либо естьидеи, почему это не работает?Кажется, это очень простое поведение Арубы.

1 Ответ

8 голосов
/ 16 февраля 2012

Вам не хватает шага «Когда» - для шага aruba «output должны содержать» требуется, чтобы команда уже была запущена (она сама не запускается, она только ищет ее).

@announce
Scenario: Testing cucumber/aruba
    Given a blank slate
    When I run `ls -la`
    Then the output from "ls -la" should contain "drw"

Это выдает на моей машине:

@announce
Scenario: Testing cucumber/aruba                     # features/test_aruba.feature:8
    When I run `ls -la`                                # aruba-0.4.11/lib/aruba/cucumber.rb:56
      $ cd /Users/d.chetlin/dev/mine/ladder/tmp/aruba
      $ ls -la
      total 0
      drwx------  2 d.chetlin  staff   68 Feb 15 23:38 .
      drwx------  7 d.chetlin  staff  238 Feb 15 23:38 ..

    Then the output from "ls -la" should contain "drw" # aruba-0.4.11/lib/aruba/cucumber.rb:86

1 scenario (1 passed)
2 steps (2 passed)
0m0.465s
...