在 CI/dev 环境中启动 Ember 测试

Posted

技术标签:

【中文标题】在 CI/dev 环境中启动 Ember 测试【英文标题】:Ember test launch in CI/dev environment 【发布时间】:2021-12-09 06:05:24 【问题描述】:

我的 testem.js 中有这个

launch_in_ci: ['Chromium'],
launch_in_dev: ['Chrome'],

有没有办法运行ember test 并指定CI/dev 环境?

我知道我可以使用this solution,但这看起来不是正确的方式,因为我有配置文件。

【问题讨论】:

【参考方案1】:

下面是 testem 如何选择要使用的配置: https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/lib/config.js#L294(我刚刚在他们的github上搜索了launch_in_dev

appMode在这里传入构造函数:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/lib/config.js#L44

Config 类在这里是 required:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/lib/api.js#L4

并在这里构建:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/lib/api.js#L53 所以我们要搞清楚options是怎么设置的,setup是什么时候被调用的。

Api 中的options 在此处设置:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/lib/api.js#L74-L86(startDevstartCi -- 这些看起来相当具体 -- 希望我们快找到答案了。)

这些方法都在这里调用:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/testem.js#L79-L81

现在我们正在寻找的是progOptions 是如何构建的。

来自这里:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/testem.js#L5 来自https://www.npmjs.com/package/commander

这意味着我们需要阅读下面所有需要指挥官的配置。

应用模式已设置:https://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/testem.js#L8-L52 在评估每一项。 这可能意味着这通常不是自动切换,而 ember 正在为我们抽象它。

那么让我们跳到 ember-cli: 搜索将我带到了这个文件:https://github.com/ember-cli/ember-cli/blob/b24b73b388934796ca915ca665b48a27c857199b/lib/tasks/test.js#L13

但这里看起来 ember 总是在运行 CI。

所以.. idk。我会把这个留在这里,让其他人去探险,但我现在必须做一些家务。

【讨论】:

以上是关于在 CI/dev 环境中启动 Ember 测试的主要内容,如果未能解决你的问题,请参考以下文章

在浏览器中运行测试时禁用 Ember Mirage

如何在本地环境中自动启动 Azure Function?

角度|使用生产环境变量启动测试服务器

一个脚本测试系统环境变量配置文件的启动顺序

Fabric网络环境启动过程详解

如何调试在 phantomjs 中运行的 ember-cli 测试