根据私有功能测试Angular服务

时间:2016-05-12 07:57:46

标签: angularjs karma-jasmine

我想用Karma和Jasmine测试一个Angular服务。公共功能的测试按预期工作。但是,虽然测试并未涵盖服务的所有行,但由于未达到私有函数中的某些行。原因是私有函数依赖于私有状态/变量。

角度服务:

// depends on something locally
var switch = false;

// private
function help() {
  if (switch) {
    return 0;
  } else {
    return 1;
  }
}

// public
this.func = function() {
  // ...
  help();
  // ...
}

使用此示例仅涵盖了帮助功能的错误路径。 有没有办法测试服务的所有路径,而不公开私有函数或创建setter?

0 个答案:

没有答案