在看敏捷开发rails 2时,按时书本的进行product_test.rb测试成功;在对cart_test.rb测试时,出现以下错误:
Loaded suite test/unit/cart_test
Started
E
Finished in 0.14 seconds.
1) Error:
test_the_truth(CartTest):
ActiveRecord::StatementInvalid: Mysql::Error: Table 'depot_test.cart' doesn't ex
ist: DELETE FROM cart
1 tests, 0 assertions, 0 failures, 1 errors
百度gg一直没找到答案,然而返回测试product_test.rb时,出现了同上的错误,请高手们解惑。
夹具对应的是表,产生错误的原因是因为你引用了cart的夹具(fixture :cart),这是不对的,你应该把它去掉,你的测试需要用到哪个表,就引用哪个表的夹具,和建cart_test.rb文件并不冲突吧
你没有创建测试环境下的数据库
rake db:test:clone执行一下,创建好测试环境的数据库。
因为不管你的开发数据库还是测试数据库,里面根本没cart这个表