我可以使用 '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 build
或 ember 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 端点。
我使用 Ember 模板测试库(QUnit 和 testem)编写了 Ember.js 2.16 验收测试,用于测试 Ember 应用程序的一般功能。当我运行ember test
时,获取环境变量的'environment'总是设置为test
。
除了 test
之外,有没有办法 运行 ember test
? 运行 它与 --environment="my_other_test_env"
不会像 ember build
或 ember 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 端点。