RSpec / Capybara:未检测到

时间:2017-01-27 19:41:13

标签: ruby-on-rails ruby rspec capybara

我在我的rails应用程序中使用Rspec和capybara运行功能测试。我填写了一份表格,其中包括以下代码:

#include <iostream> // allows program to perform input and output

using std::cout; // program uses cout
using std::endl; // program uses endl
using std::cin; // program uses cin

int main()
{
    int number1; // first integer read from user
    int number2; // second integer read from user
    int number3; // third integer read from user
    int smallest; // smallest integer read from user
    int largest; // largest integer read from user


    cout << "Input three different integers: "; // prompt
    cin >> number1 >> number2 >> number3;

    largest = number1; // assume first integer is largest

    if (number2 > number1){
    number2 = largest;
    }

    if (number3 > number2) {
    number3 = largest;
    }

    smallest = number1; // assume first integer is smallest

    if (number2 < number1) {
    number2 = smallest;
    }


    if (number3 < number2) {
    number3 = smallest;
    }

    cout << "Max" << largest;
    cout << "Min" << smallest;

    /* Write an output statement that prints the sum, average,
    product, largest and smallest */

    return 0; // indicate successful termination    
} // end main

当我实际进入视图时,此代码完全正常工作,它显示了所有预期的名称。

我试图在我的Rspec功能测试中填写它,如下所示:

<%= f.collection_select(:model_id, Model.all, :id, :name) %>

但是,水豚总是给我错误

select('Option', :from 'model[model_attributes][model_id]')

当capybara给我一个屏幕截图并转到屏幕截图时,该表单中的select元素只显示为空白表单(除了collection_select之外的所有其他元素都显示正常)。由于它没有出现在屏幕截图中,这是否意味着Capybara目前根本不支持Capybara::ElementNotFound: Unale to find option 'option'

提前谢谢。

1 个答案:

答案 0 :(得分:0)

更新:解决了我自己的问题。

在访问页面并提交表单之前,我只需要使用FactoryGirl初始化对象。这样,集合选择就可以找到。