【问题标题】:Unit testing angularjs with karma用业力对 angularjs 进行单元测试
【发布时间】:2014-10-13 12:45:27
【问题描述】:

我已经设置了 karma 来运行角度测试,但是当我尝试获得一个我用 angular.injector().get("EventProcessor") 定义的工厂时,它说它没有找到。

我的工厂是这样的:

console.log "Loaded"

TTApp.factory "EventProcessor", ($rootScope, $injector) ->
  console.log "Inside" # this is never seen in the log...
  class EventProcessor
    ...

我的根应用如下所示:

window.TTApp = angular.module("TTApp", [
  "ui.layout",
  "ui.bootstrap",
  "templates"
])

TTApp.run ->
  ...

我的测试如下所示:

describe "EventProcessor", ->
  beforeEach(module("TTApp"))

  it "is there", ->   
    subject = angular.injector().get("EventProcessor")
    expect(subject).not.toBeNull()

确切的错误是:

Error: [$injector:unpr] Unknown provider: EventProcessorProvider <- EventProcessor

有人知道我到底做错了什么吗?

【问题讨论】:

    标签: angularjs karma-runner


    【解决方案1】:

    我发现我需要使用

    angular.injector(["ngMock", "ng", "TTApp"]).get so it knows where to look. 
    

    感谢谷歌..

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 2023-03-08
      • 2013-10-29
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      相关资源
      最近更新 更多