繁体   English   中英

Mysql2 :: Error:单元测试期间的表

[英]Mysql2::Error: Table during unit testing

我完成了一个lynda.com教程,该教程使用rails创建了一个简单的cms。 我想通过添加单元测试来练习和扩展对Rails的更多了解。 但是每次我尝试运行任何测试时,都会收到mysql错误。 这样的一个例子就是试图在公共控制器上获取索引。

#public_controller_test.br
test "should get index" do
  get public_index_url
  assert_response :success
end

它给我以下错误

PublicControllerTest#test_should_get_index:
ActiveRecord::StatementInvalid: Mysql2::Error: Table 'simple_cms_test.users' doesn't exist: DELETE FROM `users`

如果您需要查看更多代码,请访问https://github.com/trmccormick/rails_simple_cms。谢谢您的帮助。

错误显示您的simple_cms_test数据库中没有表users

因此,您需要将测试数据库与开发数据库同步。

运行rake db:migrate testrake db:schema:load test ,一切正常。

我自己解决了这个问题。 问题出在夹具上,我有一个文件users.yml,应该是admin_users.yml,所以users表永远不会装上假用户,因此失败了。 重命名文件可解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM