yeoman测试可以并行运行吗?

时间:2015-09-23 23:40:35

标签: yeoman yeoman-generator

我们刚刚遇到yeoman-generator测试问题,当它们在隔离运行时通过但在与其他测试并行运行时失败。

具体来说,我们调用require('yeoman-generator').test.run()来运行生成器,然后使用require('yeoman-generator').assert.file检查是否生成了正确的文件,这就是documentation所说的内容。但是,assert有时会失败,说文件不存在。

test.run()assert.file之间的互动如何运作?文件在哪里写的?是全局变量/临时文件是否始终相同,因此可以被同时运行的其他测试覆盖?

这是the test,是failing build的一个例子。

detailed discussion存在github问题,此处讨论了suddenly started passing在单独运行时的运行方式。

我们正在使用并行运行测试的Jest testing framework

1 个答案:

答案 0 :(得分:2)

看起来Yeoman测试无法并行运行。

require('yeoman-generator').test.run()会创建临时目录,但会将当前工作目录更改为该目录。这会干扰其他依赖CWD的测试,因此Yeoman测试不能与其他测试并行运行。

helpers.js中的run-context.jsprocess.chdir中的相关评论。