Ruby on rails 没有Cumber和step定义的Rspec框架

Ruby on rails 没有Cumber和step定义的Rspec框架,ruby-on-rails,ruby,rspec,automated-tests,page-object-gem,Ruby On Rails,Ruby,Rspec,Automated Tests,Page Object Gem,需要构建一个rspec框架,在这个框架中,我们不想编写功能文件和相应的步骤定义来运行测试 到目前为止,这是我尝试过的,这是测试运行,如果它有效,我将写更多 我的示例\u规范rb require 'rspec' describe 'Mybehaviour' do def testMethod visit(LoginPage).test end end class LoginPage include PageObject page_url("#{FigNewton.base

需要构建一个
rspec框架
,在这个框架中,我们不想编写功能文件和相应的步骤定义来运行测试

到目前为止,这是我尝试过的,这是测试运行,如果它有效,我将写更多

我的示例\u规范rb

require 'rspec'

describe 'Mybehaviour' do

  def testMethod
    visit(LoginPage).test
  end
end
class LoginPage
 include PageObject

page_url("#{FigNewton.base_url}/login")

  element :username, "input[id='username']"
  element :password, "input[id='password']"
  element :submit, "input[id='submit']"

  def test
    puts "excellent"
  end

end 
登录页面.rb

require 'rspec'

describe 'Mybehaviour' do

  def testMethod
    visit(LoginPage).test
  end
end
class LoginPage
 include PageObject

page_url("#{FigNewton.base_url}/login")

  element :username, "input[id='username']"
  element :password, "input[id='password']"
  element :submit, "input[id='submit']"

  def test
    puts "excellent"
  end

end 
我正在使用Rubymine,当我右键单击我的示例文件并运行它时,它会给我

Run options: include {:full_description=>/Mybehaviour/}

All examples were filtered out

0 examples, 0 failures, 0 passed

Finished in 0.000315 seconds

Process finished with exit code 0
Empty test suite.
所以我也改变了它:

require 'rspec'

describe 'Mybehaviour' do

  it 'test Method' do
    visit(LoginPage).test
    true.should == false
  end
end
它给了我:

Run options: include {:full_description=>/Mybehaviour/}

NameError: uninitialized constant LoginPage
./my_example_spec.rb:6:in `block (2 levels) in <top (required)>'
-e:1:in `load'
-e:1:in `<main>'

1 example, 1 failure, 0 passed

Finished in 0.001273 seconds

Process finished with exit code 1
运行选项:包括{:完整描述=>/mybehavior/}
NameError:未初始化的常量登录页
./my_示例_spec.rb:6:in'block(2层)in'
-e:1:在“加载”中
-e:1:in`'
1个示例,1个失败,0个通过
在0.001273秒内完成
进程已完成,退出代码为1
  • 使用
    def
    和使用
    it
    有什么区别
  • 我知道我需要初始化
    LoginPage
    ,但它在哪里以及为什么将其称为
    constant LoginPage
    ,而不是
    class LoginPage

  • PS:rspec的新功能

    我猜您需要在spec\u helper.rb(如果您有)中或在我的示例\u spec.rb顶部登录\u page.rb

    测试不知道LoginPage类,因此当它点击visit(LoginPage)时,在第6行测试它认为LoginPage是一个未定义的常量。它不知道您已将其定义为类

    尝试添加:

    require 'login_page'
    
    在spec_helper.rb中或在my_example_spec.rb中要求“rspec”之后