Angular Mocks和Jasmine - "Argument '不是一个函数,得到Object&
Angular Mocks and Jasmine - "Argument 'fn' is not a function, got Object" error
我在使用Angular(使用Angular- mocks)、Jasmine和CoffeeScript进行单元测试时遇到了一个问题。
具体来说,这段代码分为:
'use strict'
describe 'sample suite', ->
beforeEach inject(($rootScope, $compile) ->
scope = $rootScope.$new()
)
it 'should be true', ->
expect('foo').toBe('foo')
导致Angular debug.html:37 Error: [ng:areq] Argument 'fn' is not a function, got Object
错误。
然而,这是有效的:
'use strict'
describe 'sample suite', ->
beforeEach ->
sample = 'test'
it 'should be true', ->
expect('foo').toBe('foo')
这意味着使用全局inject()
的语法angular-mocks方法不能与CoffeeScript编译器正常工作。
用return
结束beforeEach
块是行不通的。
感谢您的帮助。
如果你看看你的两个代码工作和不工作,你会发现很大的不同
在第一个块中,beforeEach
接受inject
作为参数,而在工作中,你传递一个匿名函数beforeEach ->
作为参数这就是为什么你会得到错误Error: [ng:areq] Argument 'fn' is not a function, got Object
'use strict'
describe 'sample suite', ->
beforeEach ->
inject ($rootScope, $compile) ->
scope = $rootScope.$new()
it 'should be true', ->
expect('foo').toBe('foo')
相关文章:
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- 当张贴到数据库时,I'我得到了一个“;可以't在它们被发送错误之后设置报头”;
- 有可能得到一个大整数实例的自然日志吗
- 响应应包含一个对象,但得到的却是GET操作的数组
- Ajax/Php得到一个以上的结果
- 当我JSON.stringfy(对象)时,我得到一个疯狂的字符串作为值
- 为什么我得到了一个“;未定义的“;使用“”从Find()返回值;这个“;论点
- 为什么我会得到一个“;auth失败”;使用正确的凭据连接到MongoDB时出错
- Jasmine测试工厂函数调用本地函数和另一个函数-获取错误:应该是间谍,但得到了function
- 为什么我会得到一个“;未捕获类型错误”;当我介绍D3.transition()时
- 得到一个没有属性的错误“;占位符”;在xhtml strict 1.0中
- 如果我对一个文件发出ajax GET请求,我会得到什么以及如何将其添加到页面中
- 为什么我在 webpack 中需要 html 文件时会得到一个位置字符串
- 在我的 jquery 函数中得到一个错误
- 使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象
- 必须单击两次才能得到一个响应
- Html 5文件系统API,我得到一个DOMError“;NotSupporteError”;
- 我如何得到一个有序的列表,随机吐出列表中的一些
- 当我运行代码时,我得到以下结果 []对象对象] [对象对象],但应该给我一个有序数组
- I'当我试图将java脚本加载到web视图中时,我得到了一个空白屏幕