Javascript ember konacha rails是有效的断言错误

Javascript ember konacha rails是有效的断言错误,javascript,ruby-on-rails,testing,ember.js,konacha,Javascript,Ruby On Rails,Testing,Ember.js,Konacha,我正在使用Ember konacha rails测试我的Ember.js应用程序 以下是我正在测试的模型: //sales_rep.js App.SalesRep = DS.Model.extend({ firstName: DS.attr('string'), lastName: DS.attr('string'), }); 以下是测试: #= require spec_helper describe "App.SalesRep", -> beforeEach( ->

我正在使用Ember konacha rails测试我的Ember.js应用程序

以下是我正在测试的模型:

//sales_rep.js

App.SalesRep = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
});
以下是测试:

 #= require spec_helper

describe "App.SalesRep", ->
  beforeEach( ->
    Test.store = TestUtil.lookupStore()
  )

  it "is a DS.Model", ->
    assert.ok App.SalesRep
    assert.ok DS.Model.detect(App.SalesRep)

  describe "attribute: firstName", ->
    it "can be created with valid value", ->
      Ember.run( ->
        Test.contact = App.SalesRep.createRecord firstName: 'Joe'
      )
      expect(Test.contact.get 'firstName').to.equal 'Joe'




    describe "attribute: lastName", ->
        it "can be created with valid value", ->
          Ember.run( ->
            Test.contact = App.SalesRep.createRecord lastName: 'swanson'
          )
          expect(Test.contact.get 'lastName').to.equal 'swanson'


        it "can NOT be created with invalid value", ->
          Ember.run( ->
            Test.contact = App.SalesRep.createRecord firstName: '123'
          )
          expect(Test.contact.get 'firstName').to.not.equal 'Joe'
          expect(Test.contact.isValid).to.be.equal false
属性测试通过,但是
expect(Test.contact.isValid).to.be.equal false
失败 下面是错误:

    can NOT be created with invalid value ‣
AssertionError: expected undefined to equal false
    at Assertion.assertEqual (http://localhost:3500/assets/chai.js:862:12)
    at Assertion.ctx.(anonymous function) [as equal] (http://localhost:3500/assets/chai.js:3048:25)
    at Context.<anonymous> (http://localhost:3500/assets/app/models/sales_rep_spec.js?body=1:36:51)
    at Test.Runnable.run (http://localhost:3500/assets/mocha.js:4065:32)
    at Runner.runTest (http://localhost:3500/assets/mocha.js:4430:10)
    at http://localhost:3500/assets/mocha.js:4476:12
    at next (http://localhost:3500/assets/mocha.js:4356:14)
    at http://localhost:3500/assets/mocha.js:4365:7
    at next (http://localhost:3500/assets/mocha.js:4313:23)
    at http://localhost:3500/assets/mocha.js:4333:5
无法使用无效值创建

AssertionError:预期undefined等于false
at Assertion.assertEqual(http://localhost:3500/assets/chai.js:862:12)
at Assertion.ctx.(匿名函数)[as equal](http://localhost:3500/assets/chai.js:3048:25)
在上下文中。(http://localhost:3500/assets/app/models/sales_rep_spec.js?body=1:36:51)
在Test.Runnable.run(http://localhost:3500/assets/mocha.js:4065:32)
在Runner.runTest(http://localhost:3500/assets/mocha.js:4430:10)
在http://localhost:3500/assets/mocha.js:4476:12
接下来(http://localhost:3500/assets/mocha.js:4356:14)
在http://localhost:3500/assets/mocha.js:4365:7
接下来(http://localhost:3500/assets/mocha.js:4313:23)
在http://localhost:3500/assets/mocha.js:4333:5
所以我对JS一般来说是新手,我不知道如何解决这个问题? 这是测试语法错误吗

或者我应该向余烬模型添加验证吗

试试:

expect(Test.contact.get('isValid')).to.be.equal false
基本上是add.get('isValid')

尝试:

expect(Test.contact.get('isValid')).to.be.equal false

基本上是add.get('isValid')

谢谢,成功了!,但是我仍然在变为真,虽然它应该是假的,因为我的服务器不接受没有姓氏的对象,可能是因为我没有“提交”对象,它仍然是客户端的,客户端没有验证,有什么建议吗?谢谢,它成功了!,但我仍然得到了正确的答案,虽然它应该是错误的,因为我的服务器不接受没有姓氏的对象,这可能是因为我没有“提交”对象,它仍然是客户端的,客户端没有验证,有什么建议吗?