为什么我不能将指令注入我的测试用例
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".
,而不是在这里进入一个完整的示例
我可以在 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".
,而不是在这里进入一个完整的示例