私は角度、チャイ、角マックス、モカ、カルマを使用しています。テスト出力このエラー:このテストをモカで行うには?
Type error
[email protected][native code]
app/main.coffee:30:23 <- app/main.js:23:23
test/main.spec.coffee:59:20 <- test/main.spec.js:18:27
assert = chai.assert
expect = chai.expect
describe("The Address Book App",() ->
describe("the proper filter",() ->
proper = null
beforeEach(() ->
module("AddressBook")
inject(($injector)->
proper = $injector.get("$filter")("proper")
)
)
it("should proper case a string",() ->
expect(proper("ned stark")).to.equal("Ned Stark")
)
)
)
main.coffee私はクラスメソッド '大文字' は、この場合のとで、より適切だと思う
を更新しました
class AddressBook
constructor: ->
return []
class Proper
uppercase: (word) ->
word[0].toUpperCase().concat(word.slice(1))
constructor:() ->
return (name) ->
words = name.toString().split(" ")
return words.map(@uppercase).join(" ")
angular.module('AddressBook', new AddressBook())
.filter('proper', [Proper])
テストパスの 'main.coffee'にはほとんど変更がありません。
class AddressBook
constructor: ->
return []
class Proper
@uppercase: (word) ->
word[0].toUpperCase().concat(word.slice(1))
constructor:() ->
return (name) ->
words = name.toString().split(" ")
return words.map(Proper.uppercase).join(" ")
angular.module('AddressBook', new AddressBook())
.filter('proper', [Proper])
しかし、私は本当に必要とインスタンスメソッドは、どのようにテストを合格にしますか?
これは、同じエラーが動作し、出力しませんでした:単に脂肪の矢印を使用して、それを修正するには、期待通りのCoffeeScriptは
this
キーワードを設定します– wilcus