为什么我不能将指令注入我的测试用例

why can't I Inject directive into my test cases

我可以在 Jasmine

中注入 beforeEach(inject(beforeEach(inject(function(_$controller_,_mycustomService_,_$log_) 中的几乎所有内容

等,但是我不能注入指令?

我会收到类似 http://errors.angularjs.org/1.3.13/$injector/unpr?p0=myCustomDirectiveProvider%20%3C-%20myCustomDirective

的错误

AngularJS 不应该这样吗?这就是为什么指令的单元测试风格有点不同的原因吗(我指的是 $compile 选项)?

指令不可注入 angular 中的任何地方,只能注入提供者(服务、工厂、值、常量等)。

为了测试一个指令,你需要确保定义指令的模块已经加载了 module() 函数,(它也需要在你的业力配置中被引用) , 然后你可以编译一段 DOM 并确保一切都如你所愿。

我建议您自己研究并 google "testing angular directives".

,而不是在这里进入一个完整的示例