stdlib
başlatıcım var. Bu başlatıcıda, bazı yerleşik Ember sınıflarını yeniden açıp bazı özel yöntemler ekleyin. Örneğin, reverseEach
'u Ember.Enumerable
ve Array
'a ekledim.Bir birim testinde bir başlatıcı kullanılıyor mu?
Onlar app iyi çalışır, ancak testlerde i almak "reverseEach: tanımsız bir işlev değil".
Nasıl Test başlatıcı kullanması gerektiğini belirtmek mı?
Benneeds: [..., 'initializer:stdlib']
çalıştı. Bunun üzerinde yanılmıyor, ama hala "tanımsız" hatası alıyorum.
`import { test, moduleForModel } from 'ember-qunit'`
moduleForModel 'foo', 'foo',
needs: [
'model:bar'
'initializer:stdlib'
]
test 'deleteLastNItems', ->
model = @subject()
model.set '', ['foo', 'bar', 'baz', 'quux']
model.deleteLastNItems 2 # This should not die with "reverseEach: undefined is not a function"
deepEquals model.get('someProperty'), ['foo', 'bar']
soru başlatıcısı kendini test ama nasıl yöntemler başlatıcısı gelen maymun yamalı kullanan başka bir birim (. E. G modeli) test etmek için nasıl değildir. –
tr, bir maymun patentli yöntemini bir Ember.mixin'e ayıklayabilir, sonra da başlatıcı yerine Mixin'i içe aktarabilirsiniz. – zhenhua
Ember'in kendisinde maymun-ben var, model değil. Örneğin, yeni bir dizi döndürmek yerine verilen diziyi değiştiren ".destructiveMap()" yöntemine "Ember.MutableArray": adlı yeni bir yöntem ekliyorum. –