Rails测试失败,使用Sqlite3

当我在rails中运行我的测试时,我似乎遇到了一个奇怪的错误,它们都因为同样的原因而失败,并且没有一个在线文档对于这个特定错误似乎特别有用:

SQLite3::SQLException: cannot rollback - no transaction is active 

这个错误削弱了我测试​​我的应用程序的能力,似乎突然出现了。 我有最新版本的sqlite3(3.6.2),最新的sqlite3-ruby(1.2.4)gem和最新的rails(2.1.1)。

查看http://dev.rubyonrails.org/ticket/4403 ,其中显示了一种解决方法。 这可能是你遇到的问题吗?

我曾经遇到过这个问题,但有MySQL。 原来我没有创建测试数据库。 卫生署! 我相信Rails和sqlite会自动创建它们(至少它在windows中)。

正在尝试做内存测试吗? 如果不存在,测试数据库是否存在?

嘿伙计们,感谢您的帮助,我实际上最终只是删除了rails文件夹并从版本控制中检出了最后一份工作副本。 我做了相同的更改,这个问题没有再出现,所以要么我搞砸了,要么铁轨有某种打嗝。 谢天谢地,我有版本控制:-)

运行测试时出现此错误,最后一个语句是单击表单提交。 一旦我做了断言或应该测试,测试正确关闭,我没有必要重新运行rake db:test:prepare