Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 测试单元Capybara无法获取查询最后插入的记录_Ruby On Rails_Minitest_Testunit - Fatal编程技术网

Ruby on rails 测试单元Capybara无法获取查询最后插入的记录

Ruby on rails 测试单元Capybara无法获取查询最后插入的记录,ruby-on-rails,minitest,testunit,Ruby On Rails,Minitest,Testunit,我正在使用带有夹具的测试单元,使用标准rails测试框架。我正在使用capybara运行一些测试,在插入之后运行模型查找时,我无法找到最后插入的记录。我打开我的数据库编辑器,看到记录被正确插入。我不知道它是否存在于事务中,是否有一种方法可以获取该数据,或者是否有可能获取该数据。我甚至尝试过在调试器窗口中使用原始SQL,但都不起作用。任何建议都很好。标准rails测试框架在数据库事务中运行每个测试。一旦测试完成,数据更改就会回滚。这允许每个测试从相同的数据开始,并允许以随机顺序运行测试,以确保测试

我正在使用带有夹具的测试单元,使用标准rails测试框架。我正在使用capybara运行一些测试,在插入之后运行模型查找时,我无法找到最后插入的记录。我打开我的数据库编辑器,看到记录被正确插入。我不知道它是否存在于事务中,是否有一种方法可以获取该数据,或者是否有可能获取该数据。我甚至尝试过在调试器窗口中使用原始SQL,但都不起作用。任何建议都很好。

标准rails测试框架在数据库事务中运行每个测试。一旦测试完成,数据更改就会回滚。这允许每个测试从相同的数据开始,并允许以随机顺序运行测试,以确保测试之间不会产生任何依赖关系。

是的,我理解这一点。我想知道是否有一种方法可以返回到事务中并找到作为该事务一部分的最后一条记录。我想没有?可能有,但我不知道。如果您的数据库使用的是自动递增主键,那么您可以尝试使用Widget。顺序:id.last。您找到解决该问题的方法了吗