我在我的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'
?
提前谢谢。
答案 0 :(得分:0)
更新:解决了我自己的问题。
在访问页面并提交表单之前,我只需要使用FactoryGirl初始化对象。这样,集合选择就可以找到。