2015-03-06 2 views
14

में नहीं है मेरे पास कुछ यूनिट परीक्षण हैं जो स्टोर तक पहुंचते हैं। मैंने सोचा होगा कि यह ठीक होगा, जब तक मैं उन्हें एक रनबैक में लपेटता हूं। दुर्भाग्य से, यह मामला नहीं है। मुझे यह त्रुटि मिल रही है:एम्बर-कुनीट: आप केवल उस रिकॉर्ड को अनलोड कर सकते हैं जो फ्लाइट

#foo पर प्रत्येक विफल होने के बाद: दावा विफल: आप केवल उस रिकॉर्ड को अनलोड कर सकते हैं जो प्रकाश में नहीं है।

जैसा कि मैं इसे समझता हूं, यह वही है जो run को रोकना चाहिए। मेरा परीक्षण इस तरह दिखता है:

test('#foo', function(assert) { 
    var store = this.store(); 
    var model = this.subject(); 

    Ember.run(function() { 
    var secondModel = store.createRecord('secondModel', { foo: 'bar' }); 
    model.set('secondModel', secondModel); 
    var foo = model.get('secondModelFoo'); 

    assert.equal(foo, 'bar'); 
    }); 
}); 
+0

आप एम्बर डेटा के अप्रचलित संस्करणों का उपयोग कर रहे हैं। –

+0

आप ऐसा क्यों कहते हैं? – nullnullnull

+0

आप किस एम्बर-डेटा संस्करण का उपयोग करते हैं? मुझे बीटा 15 – chrmod

उत्तर

3

लगता है यह नहीं रह गया है एंबर v1.13.7 के साथ संयोजन में एंबर डाटा v1.13.8 में एक मुद्दा है की तरह।

निम्नलिखित सेटअप के लिए:

मॉडल/प्रथम model.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    secondModel: DS.belongsTo('second-model') 
}); 

मॉडल/दूसरी model.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    foo: DS.attr('string') 
}); 

परीक्षण/इकाई/मॉडल/पहली मॉडल test.js

import Ember from 'ember'; 
import { moduleForModel, test } from 'ember-qunit'; 

moduleForModel('first-model', 'Unit | Model | first model', { 
    // Specify the other units that are required for this test. 
    needs: ['model:second-model'] 
}); 

test('it exists', function(assert) { 
    var model = this.subject(); 
    // var store = this.store(); 
    assert.ok(!!model); 
}); 

test('#foo', function(assert) { 
    var store = this.store(); 
    var model = this.subject(); 

    Ember.run(function() { 
    assert.expect(1); 

    var secondModel = store.createRecord('second-model', { foo: 'bar' }); 
    model.set('secondModel', secondModel); 
    var foo = model.get('secondModel.foo'); 

    assert.equal(foo, 'bar'); 
    }); 
}); 

टेस्ट पास। Demo project repository on GitHub.

संबंधित मुद्दे

 संबंधित मुद्दे