对于AngularJS应用程序,建议通过console.log使用$log服务.此类日志记录的一个常见用例是在运行测试时看到调试打印.问题是,angular-mocks默认静音$log,用模拟替换它.好吧,我有时需要测试我的调试打印,但我只需要经常看到它.问题是,默认行为坚持使用虚拟日志记录,我甚至没有看到恢复真实$log的正确方法.我已经做了一个jsfiddle示例来说明它,尝试运行它,同时查看devtools控制台
http://jsfiddle.net/ivan4th/EnvL9/
@H_404_8@
@H_404_8@
var myApp = angular.module('myApp',[]); describe('myApp',function () { var element,rootScope; beforeEach(module('myApp')); it('does something',inject(function ($log) { $log.log("this message gets eaten by angular-mocks"); console.log("this message is visible though"); })); });
跳过第一条消息,第二条消息按预期显示.
为什么会使用这种奇怪的行为,除了不使用$log之外还有什么方法可以修复它吗?@H_404_8@