我是与花美开始。(我使用不同的实体名称,我从评论开始,而不是书籍,但否则我遵循链接页面上的说明。)
bundle exec hanami db prepare运行良好。创建了SQLite数据库。bundle exec hanami db运行良好
select * from reviews;不会抱怨。bundle exec hanami server运行良好,我可以加载'/reviews',我可以用'/reviews/new'创建一个新的,然后我可以在列表中再次看到结果。它肯定适用于数据库。
然后是bundle exec rake test,它会抛出错误,例如
9) Error:
Add a review#test_0001_can create a new review:
Hanami::Model::Error: SQLite3::SQLException: no such table: reviews
/home/ytg/.rvm/gems/ruby-2.5.1/gems/hanami-model-1.2.0/lib/hanami/repository.rb:362:in `rescue in create'
/home/ytg/.rvm/gems/ruby-2.5.1/gems/hanami-model-1.2.0/lib/hanami/repository.rb:359:in `create'
...我怀疑rake是从与hanami不同的数据库文件中运行的,因为表应该确实在那里。但是为什么呢?我如何确保他们使用相同的数据库?
编辑:添加Rakefile以防万一
require 'rake'
require 'hanami/rake_tasks'
require 'rake/testtask'
require 'rubocop/rake_task'
RuboCop::RakeTask.new
Rake::TestTask.new do |t|
t.pattern = 'spec/**/*_spec.rb'
t.libs << 'spec'
t.warning = false
end
task default: :test
task spec: :test发布于 2018-05-02 11:14:07
在运行它们之前,您需要进行为测试环境创建数据库:
HANAMI_ENV=test bundle exec hanami db preparehttps://stackoverflow.com/questions/50113047
复制相似问题