【问题标题】:How to setup a test environment (test gem`s + test database)如何设置测试环境(测试 gem`s + 测试数据库)
【发布时间】:2015-10-03 19:29:39
【问题描述】:

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

我想运行 Rspec 测试。

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

【问题讨论】:

  • 欢迎来到 Stack Overflow。建议分享您当前拥有的代码,并提出一个具体问题,以便从社区中获得最大收益。

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


【解决方案1】:

将系统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",
    },
  },
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 2011-06-29
    • 2018-11-14
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多