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

时间:2015-10-03 19:29:40

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

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

我想运行Rspec测试。

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

1 个答案:

答案 0 :(得分:2)

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

要运行该规定,您必须使用start然后停止系统:

$ 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",
    },
  },
});