2014-02-09 88 views
12

当使用WebStorms作为测试运行器时,每个单元测试都运行。有没有办法指定只运行一个测试?即使只运行一个测试文件也会比当前一次运行所有测试文件的解决方案更好。有没有办法做到这一点?使用WebStorms IDE可以从单元测试套件只运行一个单元测试吗?

我正在使用摩卡。

+0

您是否在使用Karma? – Rob

+0

@Rob,我正在使用摩卡,编辑了这个问题来表明(希望它不会有所作为) –

+0

这是可能的,但使用常规node.js运行配置(不是摩卡),请参阅:http: //codebetter.com/glennblock/2013/01/17/debugging-mocha-unit-tests-with-webstorm-step-by-step/ – snowdragon

回答

13

目前不可能,请投票给WEB-10067

+2

Upvoted那一个! –

1

您可以将d上的i加一,然后跑步者只运行该测试/套件。如果你用x作为前缀,它将排除它。

有一个名为ddescribe的插件,它为您提供了一个gui。

0

当您使用.only无论是在描述或在其条款

我有一些有摩卡配置设置,您可以运行范围内测试让它始终工作的问题,但是当它变得疯狂并且继续运行我所有的测试并忽略.only或.skip时,我会将额外的mocha选项添加到包含单元测试的其中一个文件的路径,就像示例中一样对于node setup,突然.only功能再次开始工作,无论测试文件位于何处。

1

您可以在Mocha的“运行/调试配置”屏幕上的额外摩卡选项框中使用--grep <pattern>命令行选项。例如,我的额外线摩卡选项说:

--timeout 5000 --grep findRow 

所有测试* .js文件,和他们require,仍然可以加载的文件,但得到运行只测试都匹配模式的那些。所以如果你不想执行的部分是测试,这可以帮助你很多。如果在您的其他模块使用require加载时,您的进程的缓慢部分会自动执行,但这不会解决该问题。您还需要进入配置选项来更改每次要运行符合其他模式的测试时的配置选项,但这足够快,因此它确实节省了我的时间,让我所有通过的测试每次运行时都会运行未通过测试。