Webstorm:如何为整个套件和单个测试运行测试设置?

时间:2016-12-05 20:58:57

标签: intellij-idea mocha

Webstorm具有出色的测试运行支持,我可以通过告诉它来运行文件testStart.js"来启动我的测试套件。然后我可以定义testStart.js来为我的测试环境进行设置(例如创建一个Sinon沙箱)并自己引入所有测试。

当我运行整个套件时,这很有效。但Webstorm有一个功能,让你重新运行一次失败的测试,当我尝试使用该功能时,我遇到了一个问题:我的测试设置代码没有运行,因为个人测试文件没有调用设置代码。

所以,我正在寻找解决方案。我到目前为止看到的唯一选择是:

  • 我没有单独的testStart.js文件,而是可以将设置代码移到testSetup.js文件中,并使每个测试都需要它。 DOWNSIDE:我必须记住在每个测试文件中导入安装文件(而不必在我当前的方案中导入它)

  • 使用Mocha的--require选项运行testSetup.js DOWNSIDE:以这种方式要求的代码无法访问Mocha代码,因此我不确定如何调用beforeEach / {{1} }

  • 使用其他一些我不知道运行测试设置代码的Mocha或Webstorm选项。 DOWNSIDE:不确定这样的选项是否存在

如果有其他人遇到这个问题,我很乐意听到上述任何一种解决方案是否能够发挥作用(或者是否有另一种我没有考虑过的解决方案)。

1 个答案:

答案 0 :(得分:0)

我最后只是将testSetup.js导入到每个测试文件中。这是一种痛苦,违反了DRY原则,但它确实有效。

如果其他人有更好的解决方案,我会高兴地接受它。