我是新来的。我希望精确度这个问题是正确的。我没有找到答案,这里和这个解决方案都没有帮助。
简介:
我在RubyMine中使用Ruby/Watir/Cucumber创建了一个web应用程序的自动测试。特性工作正常——测试通过了(步骤定义没问题)。不幸的是,我不能在NetBeans中运行相同的功能。似乎我确实有问题链接步骤与他们的步骤定义。
使用的相关环境/工具:
Windows 7
NetBeans IDE 8.0
NenBeans插件:Cetriolo v 1.0
NetBeans插件:Cucumber Features v 1.8.2
Ruby 1.9.3
GEM: watr -webdriver 0.6.10
创业板:cucumber 1.3.15
GEM: Page-object 1.0
项目结构:
Picture_of_project_structure
功能看起来像:
1 Feature: Adoptin Puppies
2
3 As a puppy lover
4 I want to adopt puppies
5 So they can chew my furniture
6
7 Background:
8 Given I an on the adoption site
9
10 Scenario: Adopting one puppy
11 When I click the View Details of puppy 1 button
12 And I click the Adopt Me button
13 And I click the Complete the Adoption button
/..../
问题描述:
特征文件Given, When, And, And,…,并附有注释,说明这些步骤没有步骤定义。
在步骤窗口(由插件启用)中没有看到实现:Image_of_step_window_without_step_implementation
当我经营收养小狗的时候。功能使用黄瓜图标(由插件启用),然后执行背景和步骤在收养网站上给定i和。我的意思是-网页浏览器打开并进入正确的地址,然后关闭(这种情况发生了4次-每4种情况一次)。输出为:
Output of running [cmd, /C, cucumber, -r, C:Userst4fNetBeansProjectstest_puppies_copylibfeatures, C:Userst4fNetBeansProjectstest_puppies_copylibfeaturesadopting_puppies.feature, -s] is:
--- START ---
*** WARNING: You must use ANSICON 1.31 or higher (https://github.com/adoxa/ansicon/) to get coloured output on Windows
Feature: Adoptin Puppies
As a puppy lover
I want to adopt puppies
So they can chew my furniture
Background:
Given I an on the adoption site
dupa
Scenario: Adopting one puppy
When I click the View Details of puppy 1 button
And I click the Adopt Me button
/...steps written here like in feature file.../
4 scenarios (4 undefined)
43 steps (30 skipped, 9 undefined, 4 passed)
2m35.034s
You can implement step definitions for undefined steps with these snippets:
When(/^I click the View Details of puppy (d+) button$/) do |arg1|
pending # express the regexp above with the code you wish you had
end
当我遵循这个答案并在cmd窗口中使用
cucumber lib/features/adopting_puppies.feature -r lib/features
的结果是相同的(浏览器打开,页面访问,浏览器关闭),但至少我可以看到adopting_puppy_steps。Rb 'used'(输出相同,但每行输出后都有注释):
/.../
Background: # libfeaturesadopting_puppies.feature:7
Given I an on the adoption site # lib/features/step_definitions/adopting_pup
py_steps.rb:1
dupa
Scenario: Adopting one puppy # libfeaturesadoptin
g_puppies.feature:10
When I click the View Details of puppy 1 button # libfeaturesadoptin
g_puppies.feature:11
And I click the Adopt Me button # lib/features/step_de
finitions/adopting_puppy_steps.rb:17
/.../
问题/要求:
谁能告诉我为什么NetBeans的步骤定义不能被识别?由于'Given'被成功执行,并且RubyMine的所有步骤都没有问题,我很困惑(特别是因为我对所有这些Ruby/Watir/Cucumber的东西都很陌生)。
我的RubyMine评估在5天内结束,我仍然想学习:)
当我第一次使用Rubymine时,我有一个类似的问题,解决方案是在目录设置中。步骤定义文件夹在我的项目中的错误目录树下,所以当它试图在默认位置找到它们时,它什么也找不到。
更具体地说,我的step_definition文件夹是在我的主项目目录下创建的,而不是在我的功能文件文件夹中。因此,当rubymine试图找到一个名为step_definitions的文件时,它在相对文件(功能)中找不到一个,所以它告诉我步骤没有定义,尽管它们显然在另一个文件夹中。一旦我移动了文件,它就可以正常工作了。
我对netbeans一无所知,但默认情况下,它可能会在不同的位置寻找rubymine来找到这些步骤定义。
您的文件结构看起来是正确的,但我不熟悉netbeans是否在不同的地方寻找步骤定义。
您是否尝试在接受的答案下面的答案中按照建议删除黄瓜功能插件?
如果这不起作用,看看是否可以找到netbeans在默认情况下查找其step_definitions文件夹的位置。