我可以使用 'test' 以外的环境进行 Ember 测试吗?

Can I use an environment other than 'test' for Ember tests?

我使用 Ember 模板测试库(QUnit 和 testem)编写了 Ember.js 2.16 验收测试,用于测试 Ember 应用程序的一般功能。当我运行ember test时,获取环境变量的'environment'总是设置为test

除了 test 之外,有没有办法 运行 ember test? 运行 它与 --environment="my_other_test_env" 不会像 ember buildember serve 那样改变环境。

我希望能够将参数传递给验收测试,具体取决于它们所处的环境 运行。是否支持这种行为,如果不支持,是否有理由不支持做这个?我知道对于较低级别的单元测试,我不应该处理外部依赖性,但是对于端到端验收测试,我想要 运行 测试的不同环境似乎很正常英寸

您可以使用自己的环境变量:

运行 与 TEST_ENV=...

$ TEST_ENV=special ember test

将其添加到您的应用配置中:

// config/environment.js
if (environment === 'test') {
    ENV.testingEnvironment = process.env.TEST_ENV;
    ...
}

并在您的验收测试中使用它,例如:

import ENV from '../../config/environment';

alert(ENV.testingEnvironment); // outputs 'special'

我正在使用类似的方式将生产版本部署到暂存环境,但只更改配置中的一些 api 端点。