rspec挂钩(之前和之后)不起作用

时间:2019-06-11 17:33:28

标签: ruby selenium-webdriver rspec

在以下代码中钩子不起作用之前,我正在使用rvm 2.6.3

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <RadioGroup
        android:id="@+id/radioGender"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <RadioButton
            android:id="@+id/radioMale"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Male" 
            android:checked="true" />
        <RadioButton
            android:id="@+id/radioFemale"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Female" />

    </RadioGroup>
    ...Other stuff in the layout...
</LinearLayout>

1 个答案:

答案 0 :(得分:2)

before未运行,因为您没有示例-这些示例是使用it命令构建的:

describe "sample" do
  before(:each) do
    puts "Inside before"
    @driver = Selenium::WebDriver.for :chrome
    @driver.navigate.to "http://google.com"
    sleep 5
  end

  it 'does a thing' do
    puts "Inside code"
    @driver = Selenium::WebDriver.for :chrome
    @driver.navigate.to "http://google.com"
    sleep 5
  end
end

编辑

为了证明这可行,我采取了以下步骤:

  1. 新建文件夹
  2. 在文件夹中
  3. cd并运行rspec --init
  4. 使用内容创建新文件spec/sample_spec.rb

    describe "sample" do
      before(:each) do
        puts "Inside before"
      end
    
      it 'does a thing' do
        puts "Inside code"
      end
    end
    
  5. 使用rspec
  6. 运行它

我正在使用rspec 3.8版,尽管它也可以与其他版本一起使用