我是RoR的新手,可能会遗漏一些东西。 你能告诉我什么是错的吗?
单元测试中的TestMethod
测试“创建”做
prices = [12,14,16]
prices.each {|p|
course = Course.new(:name => "j2ee", :price => p)
course.save!
puts course.persisted?
}
#Course.where({:price => 12...17}).all.each do |c|
Course.find_by_price(12) do |c|
puts c.price
end
端
运行测试的命令行输出
真
真正
真正
12个
..
但为什么db表不包含行?
sqlite3 test.sqlite3
源码>从课程中选择计数(*);
0
这是def。正确的数据库。如果我使用夹具数据,它会正确插入,直到下一个testrun可用。 非常感谢! 干杯 抢劫
答案 0 :(得分:0)
您的问题没有说明您正在使用的测试框架,但一般来说,测试框架会自行清理,这是礼貌的事情。
你确实说它适用于灯具,所以你无需担心。但是,如果要手动验证持久性是否正常,请打开控制台并输入测试。
prompt$ rails c
> Course.new(:name => "j2ee", :price => 12).save!
> Course.all
控制台打印所有课程。请注意,如果您使用的是bundler(您应该使用它),则可能需要使用“bundle exec rails c”启动控制台。