首页 > 解决方案 > 在 CI/dev 环境中启动 Ember 测试

问题描述

我的 testem.js 中有这个

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

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

我知道我可以使用这个解决方案,但这看起来不是正确的方法,因为我有配置文件。

标签: ember.jsember-clitestem

解决方案


以下是 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调用。

optionsin 在Api这里设置:https ://github.com/testem/testem/blob/50ca9c274ec904d77a90915840349142231aadff/lib/api.js#L74-L86 (startDev而且startCi——这些看起来相当具体——希望我们快找到答案了。 )

这些方法都在这里调用: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。我会把这个留在这里,让其他人去探险,但我现在得做点家务。


推荐阅读