Webstorm具有出色的测试运行支持,我可以通过告诉它来运行文件testStart.js"来启动我的测试套件。然后我可以定义testStart.js
来为我的测试环境进行设置(例如创建一个Sinon沙箱)并自己引入所有测试。
当我运行整个套件时,这很有效。但Webstorm有一个功能,让你重新运行一次失败的测试,当我尝试使用该功能时,我遇到了一个问题:我的测试设置代码没有运行,因为个人测试文件没有调用设置代码。
所以,我正在寻找解决方案。我到目前为止看到的唯一选择是:
我没有单独的testStart.js
文件,而是可以将设置代码移到testSetup.js
文件中,并使每个测试都需要它。 DOWNSIDE:我必须记住在每个测试文件中导入安装文件(而不必在我当前的方案中导入它)
使用Mocha的--require
选项运行testSetup.js
。 DOWNSIDE:以这种方式要求的代码无法访问Mocha代码,因此我不确定如何调用beforeEach
/ {{1} }
使用其他一些我不知道运行测试设置代码的Mocha或Webstorm选项。 DOWNSIDE:不确定这样的选项是否存在
如果有其他人遇到这个问题,我很乐意听到上述任何一种解决方案是否能够发挥作用(或者是否有另一种我没有考虑过的解决方案)。
答案 0 :(得分:0)
我最后只是将testSetup.js
导入到每个测试文件中。这是一种痛苦,违反了DRY原则,但它确实有效。
如果其他人有更好的解决方案,我会高兴地接受它。