0
我試圖構建一種在CoffeeScript中執行PHPUnit樣式測試用例類的方法。我非常接近實現我的目標與這兩個類:當在CoffeeScript中聲明綁定到子對象的函數時QUnit爆炸
QUnitTestCase.coffee:
class QUnitTestCase
constructor: (name) ->
module name
@setUp()
@runAllTests()
setUp: ->
return null
runAllTests: ->
for funcName, func of @
if funcName.substr(0, 4) is 'test' and typeof func is 'function'
testName = funcName.substr(4).charAt(0).toLowerCase() + funcName.substr(5)
@setUp()
test testName, func()
return null
CircleTest.coffee:
class CircleTest extends QUnitTestCase
constructor: ->
super "Circle"
setUp: ->
@mockCanvas = mock(Canvas)
@testObj = new Circle(@mockCanvas)
$('canvas').css display: 'none'
testDrawReturnsNull: =>
returned = @testObj.draw()
strictEqual null, returned, 'returns null'
然而,QUnit此錯誤吹起來:「未捕獲TypeError:無法讀取未定義的屬性'斷言'(qunit.js第666行)「。
看着QUnit,我相信當定義斷言的函數綁定到對象時,QUnit中的Test對象會變得錯誤。如果我移動「)測試(」調用出來的子類,像這樣...
testDrawReturnsNull: =>
test "drawReturnsNull", =>
returned = @testObj.draw()
strictEqual null, returned, 'returns null'
...然後QUnit運行沒有任何錯誤罰款,但是這創造了一種重複的,我不要真的不舒服。也許某個更好地理解QUnit的人可以指出我正確的方向。
謝謝。
工作。謝謝。 – IkimashoZ