Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我的ruby测试用例在rake上失败,但单独通过。请帮忙_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 我的ruby测试用例在rake上失败,但单独通过。请帮忙

Ruby on rails 我的ruby测试用例在rake上失败,但单独通过。请帮忙,ruby-on-rails,ruby,Ruby On Rails,Ruby,当使用ruby命令运行时,我的一些ror测试用例是单独通过的。但当我在耙子上奔跑时,它们失败了。这是在db2上特别发生的。我同样需要一些帮助。好的,我在挖掘之后找到了答案。 问题是我试图断言模型对象上的查找结果。 现在,在内部,这个发现转化为数据库上的select查询。 不幸的是,oracle/db2不能保证select fetch的顺序 在许多测试用例中,我断言find语句返回的数组的第一个/第二个/第三个etc元素。这里的问题是,数组的索引0可能包含不同的值,因为select可能以不同的顺序

当使用ruby命令运行时,我的一些ror测试用例是单独通过的。但当我在耙子上奔跑时,它们失败了。这是在db2上特别发生的。我同样需要一些帮助。

好的,我在挖掘之后找到了答案。 问题是我试图断言模型对象上的查找结果。 现在,在内部,这个发现转化为数据库上的select查询。 不幸的是,oracle/db2不能保证select fetch的顺序

在许多测试用例中,我断言find语句返回的数组的第一个/第二个/第三个etc元素。这里的问题是,数组的索引0可能包含不同的值,因为select可能以不同的顺序返回

因此,要么使用ORDERBY子句,要么对结果数组排序,然后断言

我在db2上仍然有一些失败,但随后,这个数字急剧下降


干杯

好吧,我挖了几下才找到答案。 问题是我试图断言模型对象上的查找结果。 现在,在内部,这个发现转化为数据库上的select查询。 不幸的是,oracle/db2不能保证select fetch的顺序

在许多测试用例中,我断言find语句返回的数组的第一个/第二个/第三个etc元素。这里的问题是,数组的索引0可能包含不同的值,因为select可能以不同的顺序返回

因此,要么使用ORDERBY子句,要么对结果数组排序,然后断言

我在db2上仍然有一些失败,但随后,这个数字急剧下降


干杯

测试用例不会抛出任何错误。断言只是失败了。但当我以“ruby test/functional/controller_name.rb”的身份运行时,情况也是一样。这种行为是db2特有的。当我在oracle上运行rake安装程序时,相同的测试用例通过。有什么方法可以调试这个问题吗?您能验证在每次测试之间,您的数据库在拆卸步骤中被清除了吗?您的rake调用是只执行一个测试文件还是执行多个测试文件?一旦我遇到问题,我的一个测试需要一些东西,是什么影响了另一个测试。而且没有一个测试用例是相互依赖的。伯特:似乎在调用。我在那里给出了一些调试语句,正在调用它们。但是如何验证数据库是否正在被清除?给出任何表的计数?测试用例不会抛出任何错误。断言只是失败了。但当我以“ruby test/functional/controller_name.rb”的身份运行时,情况也是一样。这种行为是db2特有的。当我在oracle上运行rake安装程序时,相同的测试用例通过。有什么方法可以调试这个问题吗?您能验证在每次测试之间,您的数据库在拆卸步骤中被清除了吗?您的rake调用是只执行一个测试文件还是执行多个测试文件?一旦我遇到问题,我的一个测试需要一些东西,是什么影响了另一个测试。而且没有一个测试用例是相互依赖的。伯特:似乎在调用。我在那里给出了一些调试语句,正在调用它们。但是如何验证数据库是否正在被清除?有几张桌子吗?