Cos*_*min 6 node.js jasmine angularjs karma-runner karma-jasmine
我想在ruby中有类似binding.pry的东西,基本上,我希望能够在我的代码中添加一行,并让调试器停在那里,而业力正在运行我的角度/茉莉花测试
it('runs my jasmine test', function () {
var a = true;
binding.pry // stops code and enters REPL prompt
expect(a).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)
结果将是一个提示
#
我可以在那个时间点对那个范围内可用的变量做些什么
# a = false;
然后我可以退出并继续执行.
# exit
就像使用开发工具进行调试一样,但我希望在浏览器环境之外和终端内部的业力流程中使用它.我也找到了https://github.com/alidavut/locus,但它似乎不适用于业力.
我不知道有什么方法可以在业力过程中启动 repl ,但你可以做的就是简单地写:
debugger;
Run Code Online (Sandbox Code Playgroud)
在你想要调试的地方。然后,如果执行该行时浏览器的开发工具已经打开,则执行将暂停,您将能够使用“监视表达式”,这对您来说可能就足够了。您可以访问调用堆栈和所有局部变量。您还可以分配给监视表达式中的局部变量,并且当您恢复执行时新值将保留。
我只在 Chrome 上测试过这个。我要做的是:
debugger;声明放进去。在 karma 端制作 REPL 需要付出更多努力,因为所有测试代码都在浏览器上执行。要从 karma 进程控制 REPL,您需要设置事件以通过 karma 设置与浏览器通信的套接字进行通信。如果你愿意的话应该是可行的。 编辑:实际上,要执行此操作,您仍然需要能够在特定语句处执行 Javascript 块,而且我很确定这debugger;是执行此操作的唯一方法。
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |