получавам
Uncaught TypeError: Cannot call method 'extractId' of undefined
докато изпълнявате интеграционни тестове с QUnit.
Неуспешният тест:
module "Points",
setup: ->
App.reset()
Ember.run App, App.advanceReadiness
test "Index", ->
visit("/points").then ->
ok(exists(".title:contains('POINTS')"), "Retrieved title of points section")
App.Point.find().then (points) ->
equal(find(".listContainer li").length, points.get('length') , "Retrieved correct number of points")
Изпълнението на този тест изолирано работи добре, но изпълнението на този тест в рамките на модула извежда грешката, спомената по-горе. Изглежда като adapterForType(App.Point)
връща недефинирана стойност.
Актуализиране на теста до
test "Index", ->
result = App.Point.find()
visit("/points").then ->
ok(exists(".title:contains('POINTS')"), "Retrieved title of points section")
result.then (points) ->
equal(find(".listContainer li").length, points.get('length') , "Retrieved correct number of points")
смекчава грешката.
Стойността, пренастроена от adapterForType
в правилния тест е:
Ember.inspect(this.adapterForType(App.Point))
"{serializer: <DS.FixtureSerializer:ember455>, _attributesMap: [object Object], _configurationsMap: [object Object], _outstandingOperations: [object Object], _dependencies: [object Object]}"
Някакви предложения, свързани с това поведение?