如何在使用karma运行angularjs单元测试时在终端中查看$ log调用?

jba*_*sko 10 angularjs karma-runner angular-seed

在基于angular-seed项目的项目中,我正在运行单元测试,./scripts/test.sh --log-level debug但是我看到的所有日志消息都不是来自我的应用程序.我怎样才能看到它们?在我的应用程序中,我正在使用$log.

Car*_*l G 15

谢谢.如前所述,测试可以注入console$log使用$provide.对于后代,$provide不可用,inject(function(...) { ... })必须注入函数参数module:

beforeEach(module('myapp', function($provide) {
  // Output messages
  $provide.value('$log', console);
}));
Run Code Online (Sandbox Code Playgroud)


jba*_*sko 12

搞定了!如果我console.log直接使用它会工作,但现在我正在使用$log我必须在一个补丁beforeEach(看起来默认情况下它没有被angularjs连线):

$provide.value('$log', console);
Run Code Online (Sandbox Code Playgroud)