当我破坏单元测试时,我试图找出调试单元测试的最佳方法。通常在以前的测试环境中,我可以只在浏览器中运行测试,然后对测试或代码进行断点,然后查看测试失败的原因。我似乎无法弄清楚如何用睾丸来做到这一点。有没有一种简单的方法来调试单元测试?
问问题
30065 次
4 回答
67
在
karma.conf.js
:browsers = ['Chrome'];
在您失败的规范中:
it('spec', function() { debugger; // This is like setting a breakpoint // ... });
- 运行业力。
- 转到新打开的 Chrome 浏览器,打开控制台并刷新页面。
现在,在 Chrome 的开发者工具源选项卡中,您应该会看到在调试器处停止执行。
于 2013-05-24T02:55:35.193 回答
48
包括“浏览器 = ['Chrome'];” 在您的 karma.config 文件中。
Chrome 打开时,您应该会在顶部看到“Karma - 已连接”,右上角有一个“调试”按钮。
单击此调试按钮,将打开“Karma DEBUG RUNNER”选项卡。然后,只需像往常一样右键单击、检查元素并进行调试。
于 2013-07-14T22:48:57.320 回答
9
我发现以下调试方法不需要对代码进行任何更改(例如添加“调试器”语句)
在 karma 配置文件中将“singleRun”设置为 false,这样 karma 将在调试端口上侦听,您可以在浏览器中再次运行测试,启动下面给出的 URL 并进行调试:
转到捕获的浏览器并单击“调试”按钮(或打开
http://localhost:9876/debug.html
)并使用网络检查器查看发生了什么。(您可能需要刷新 debug.html 页面才能在 Web 检查器打开后启动。)
于 2014-02-11T12:33:06.970 回答
0
在您的控制台中,您应该通知哪个 it() 语句正在中断,以及原因。例如:
Todos Add a new todo should add a new todo FAILED
expected todo.length to be 1 but was 0
但是,您可能会发现设置
logLevel = LOG_DEBUG;
在您的 karma.conf.js 文件中。
于 2013-04-23T20:15:20.177 回答