首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rake测试使用与Hanami不同的数据库?

Rake测试使用与Hanami不同的数据库?
EN

Stack Overflow用户
提问于 2018-05-01 07:48:00
回答 1查看 166关注 0票数 1

我是与花美开始。(我使用不同的实体名称,我从评论开始,而不是书籍,但否则我遵循链接页面上的说明。)

bundle exec hanami db prepare运行良好。创建了SQLite数据库。bundle exec hanami db运行良好

代码语言:javascript
复制
select * from reviews;

不会抱怨。bundle exec hanami server运行良好,我可以加载'/reviews',我可以用'/reviews/new'创建一个新的,然后我可以在列表中再次看到结果。它肯定适用于数据库。

然后是bundle exec rake test,它会抛出错误,例如

代码语言:javascript
复制
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以防万一

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-02 11:14:07

在运行它们之前,您需要进行为测试环境创建数据库

代码语言:javascript
复制
HANAMI_ENV=test bundle exec hanami db prepare
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50113047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档