如果在karam.conf.js中定义了测试规范,我已经设置了Idea Web Storm,并且可以成功运行Karma Tests。
但是,如果我右键单击JS文件并选择“运行MySpec.js”,我会收到此错误:
/usr/bin/node MyTestSpec.js /Users/dev/WebstormProjects/demow/test/MyTestSpec.js:4 describe('Activate wallet controller --',function () { ^ ReferenceError: describe is not defined at Object.<anonymous> (/Users/dev/WebstormProjects/demow/test/MyTestSpec.js:4:1) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3 Process finished with exit code 8
也许不可能以这种方式运行JS测试。
这是WebStorm中的配置:
链接到karma.conf.js文件的KT配置可以正常提供。
任何帮助赞赏。
我没有为您提供WebStorm特定的解决方案 – 但是,如果您只想运行某些茉莉花测试而不是所有的测试,可以通过使用“
focused specs”
基本上,如果将describe改为fdescribe或者适合,茉莉只会使用f前缀运行规范,忽略所有其他。
以下是一个例子:
fdescribe('Spec1',function () { it('should do something',function () { ... }); }); describe('Spec2',function () { ... }); });
如果您对此文件运行茉莉花测试,则所有它将在Spec1 fdescribe块中运行。
因此,如果您可以让WebStorm运行所有的规范,您可以使用fdescribe并适合将运行重点放在特定的操作上。
只要小心,不要把你的代码放在合适的位置,或者你可能会无意中导致您的CI服务器跳过你的大部分规范:)