我正在 IntelliJ IDEA (最新,13.1.2)上 Karma (最新,0.12.14)上运行 Jasmine 测试< strong> OS X 。
IntelliJ只使用指向我的业力安装的Karma插件:/usr/local/lib/node_modules/karma
问题在于,Karma观察者并没有从JS文件中选择新的更改。当我再次运行测试时,所有都可以。这不是一个很大的问题(它们运行速度非常快),但是在你做出改变后总是进行两次测试是不合适的。
有人遇到类似的问题吗?
答案 0 :(得分:7)
答案 1 :(得分:6)
终于有了这个工作。当在IntelliJ中使用Karma和Webpack / Gulp / etc等构建工具时,这是a known issue,并且后处理文件在Karma直接服务的文件之外。
解决方法是手动修改此文件中的IntelliJ配置:...\plugins\js-karma\js_reporter\karma-intellij\lib\intellijRunner.js
在#75
方法的runWithConfig()
行或附近,更改refresh
属性 - &gt; true
。
IntelliJ和Webstorm都存在这个问题并且修复方式相同。
答案 2 :(得分:5)
在使用IntelliJ IDEA的情况下,可以尝试使用 偏好&gt;一般&gt;取消选中&#34;安全写&#34;
答案 3 :(得分:2)
我不确定intelij的旧版本,但我使用的是2016.3(编写本文时的最新版本)并且一切正常,假设karma配置有autoWatch: true
。
完全相同的问题我所要做的就是在intelij中打开Toggle auto-test
并且所有内容都开始正常工作而没有任何其他更改。
答案 4 :(得分:1)
请检查karma配置文件中的autoWatch属性设置为TRUE。
答案 5 :(得分:0)
此外,如果您使用Sublime Text 3,则在您的用户设置中设置&#34; atomic_save&#34;:false,因为它也会导致手表出现问题。见here
答案 6 :(得分:0)
宏为我工作。在尝试usePolling: true,modifying the intellijRunner.js和unchecking Safe Write之后,我仍然必须保存或运行两次测试才能捕获更改。
制作一个复合宏,以同时保存和运行文件以及保存并重新运行测试。然后我通过Keymap覆盖了每个命令的快捷方式。
How to bind multiple actions to a shortcut
screenshot of macro: Save and Run test at cursor