Trong nỗ lực sử dụng Cucumber cho tập lệnh dòng lệnh, tôi đã cài đặt đá quý aruba theo hướng dẫn được cung cấp. Đó là trong Gemfile của tôi, tôi có thể xác minh rằng đúng phiên bản được cài đặt và tôi đã bao gồmKiểm tra đầu ra từ "lệnh" có chứa sự cố không mong muốn với NilClass
require 'aruba/cucumber'
trong 'tính năng/env.rb'
Để đảm bảo nó hoạt động, tôi đã viết kịch bản sau đây :
@announce
Scenario: Testing cucumber/aruba
Given a blank slate
Then the output from "ls -la" should contain "drw"
giả định điều này sẽ không thành công.
Nó thất bại, nhưng nó thất bại vì những lý do sai:
@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"'
Bất cứ ai có bất cứ ý tưởng tại sao điều này không hoạt động? Điều này có vẻ là hành vi aruba rất cơ bản.
Cảm ơn bạn. Tôi đã giả định rằng các bước 'đầu ra từ "ls -la" nên chứa "drw"' cũng chạy lệnh. Nhưng dường như nó không. Tách hai thành hai bước riêng biệt đã làm các trick. – Agazoom
nếu bạn không ngại chấp nhận câu trả lời, trong trường hợp đó, tôi sẽ đánh giá cao :-) – checkorbored
Xong. Xin lỗi ... kinda mới với điều stackoverflow này. :-) – Agazoom