Ember测试:无法读取null的属性'createRecord'

use*_*980 5 unit-testing coffeescript ember.js ember-cli

似乎store在我的Ember测试中无法使用,无论是ObjectController在任何单元测试中还是在任何单元测试中.我的单元测试:

`import {test, moduleFor} from "ember-qunit"`
`import DS from "ember-data"`

moduleFor "controller:register", "RegisterController", {
}

test "store is working", ->
    expect 1
    controller = @subject()
    Ember.run(->
        sampleUser = controller.get("store").createRecord("user", {
            username: "myuser"
            password: "otherpassword"
        })
        ok(sampleUser instanceof DS.Model)
    )
Run Code Online (Sandbox Code Playgroud)

测试将给出:

死于试验#1试验(http://localhost:4200/assets/vendor.js:73539:13)在EVAL(应用程序/测试/单元/控制器/注册-test.js:19:5)在requireModule( http://localhost:4200/assets/vendor.js:54:29)在http://localhost:4200/assets/test-loader.js:14:29:无法读取属性'createRecord'空的

任何人都可以解释为什么我无法DS从我的测试中或控制器本身(运行测试时)访问功能?

Kin*_*n2k 1

因为 ember-qunit 不会将存储注入到控制器中,所以它适用于单元测试,而不是集成测试。Ember Data 的存储超出了该控制器的范围。