ruby - 如何设置测试环境(测试 gem`s + 测试数据库)

标签 ruby ruby-on-rails-4 bundler azk

这是我第一次在开发中使用azk(Ruby 2.2.3 + Rails 4 项目)

我想运行 Rspec 测试。

如何使用Azkfile创建特定的系统测试环境? (测试 gem 的 + 测试数据库 + webkit 依赖项)

最佳答案

将系统 testpostgres-test 添加到您的 Azkfile.js 中,如下例所示。

要运行该配置,您必须使用启动然后停止系统:

$ azk start -R test && azk stop test
$ azk shell -- bundle exec rspec spec

或者您可以直接在 shell 中运行配置命令:

$ azk start postgres-test

$ azk shell test
bundle install --path /azk/bundler
bundle exec rake db:create
bundle exec rake db:migrate

$ azk shell -- bundle exec rspec spec

示例:

systems({
  app: {
    // ..
  },
  postgres: {
    // ...
  },

  /* TEST */
  test: {
    extends: "app",
    depends: ["postgres-test"],
    command: "bundle exec rspec spec && exit 0",
    provision: [
      "bundle install --path /azk/bundler",
      "bundle exec rake db:create",
      "bundle exec rake db:migrate",
    ],
    scalable: { default: 0, limit: 1 },
    http: false,
    wait: false,
    envs: {
      RAILS_ENV: "test",
      RACK_ENV : "test",
      BUNDLE_APP_CONFIG: "/azk/bundler",
      HOST: "#{system.name}.#{azk.default_domain}",
    },
  },
  "postgres-test": {
    extends: "postgres",
    scalable: { default: 0, limit: 1 },
    envs: {
      // set instances variables
      POSTGRES_USER: "azk",
      POSTGRES_PASS: "azk",
      POSTGRES_DB  : "#{manifest.dir}_test",
    },
  },
});

关于ruby - 如何设置测试环境(测试 gem`s + 测试数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32926631/

相关文章:

ruby-on-rails - 带 Letsencrypt 的 Heroku - 无法使用插件

javascript - 如何更改parcel js中的 `sourceMappingURL`

ruby-on-rails - gem install debugger -v '1.5.0' 失败

ruby-on-rails - 如何使用 Rails Faker gem 生成一致的数据?

ruby-on-rails - Sidekiq,线程用完 - Rails 离开并且没有收获 connection_pool 线程

ruby - 在模块/类之间共享全局记录器

Mysql2::错误:表中不存在键列 'hotel_user_id'

ruby-on-rails - 从另一个 Controller 创建 ActiveRecord 对象 - 我做对了吗?

ruby-on-rails-4 - SSE/EventSource 在第一 block 数据后关闭(Rails 4 + Puma + Nginx)

ruby-on-rails - bundler ,Rails3 : how to avoid git check of edge gems in :test group during deploying?