2013-11-27 163 views
1

我已經安裝:ruby,watir-webdriver,rspec,cucumber。無法使用黃瓜運行測試

我做了名爲「功能」的文件夾。裏面有黃瓜測試「process.feature」,其中一個特徵是1個簡單的場景。 「features」裏面還有一個名爲「step_definitions」的文件夾,其中ruby文件是process.rb。 我嘗試在命令行中運行寫入「cucumber process.feature」的測試,但它表示步驟未定義:1場景(1個未定義),3個步驟(3個未定義)。

你能告訴我我失蹤了嗎?

process.feature:

Feature: 
‘User Login.’ 

Scenario: 
Given I am logged in 
When I open the process page 
Then I see the details page 

process.rb

Given /^I am logged in$/ do 
b = Watir::Browser.new 
b.goto 'http://star.teepub:000/star-web/' 

code = '48702' 
password = 'test' 

b.text_field(:id => 'j_username').set code 
b.text_field(:id => 'j_password').set password 
b.link(:id => 'loginBtn').click 
end 

When /^I open the process page$/ do 
pending 

end 

Then /^I see the details page$/ do 
pending 
end 
+1

從.feature文件步驟沒有定義,發佈process.feature和step_definitions/process.rb文件 – mechanicalfish

+0

@mechanicalfish它被添加到描述 – Seda

回答

2

你的結構是這樣的:

--/features 
    process.feature 
    ---/step_definitions 
     process.rb 

要運行在命令行此功能類型:

cucumber process.feature -r step_definitions 

請注意,要運行此命令,您必須位於功能目錄中。 命令

cucumber 

您必須鍵入路徑* .feature文件,例如後

cucumber features/process.feature 

cucumber my_project/features/process.feature 

您也可以使用標籤,例如

@some_name 
Feature: 
‘User Login.’ 

Scenario: 
Given I am logged in 
When I open the process page 
Then I see the details page 

使用com mand

cucumber --tag @some_name 

在這種情況下,將執行帶有@same_name標記的功能。 如果將場景和類型命令

cucumber --tag @some_name 

再次,只標有@some_name場景將被執行前的標籤。

+0

非常感謝你的內容!有效。 – Seda