2014-04-28 27 views
6

Ben moment.js bağlıdır kolay bir filtre vardır: i yasemin bu birim testimoment.js'ye bağımlı olan açısal filtre nasıl test edilir?

app.filter('fromNow', function() { 
    return function(date) { 
    return moment(date).fromNow(); 
    } 
}); 

Var yazabilirim?

DÜZENLEME: şimdi var

ReferenceError: moment is not defined 

zaman böyle yazma:

Sen test çerçeveye moment.js eklemem gerekiyor
describe("fromNow filter", function(){ 
var moment; 
beforeEach(function(){ 
    module('reports'); 
    moment = jasmine.createSpy(); 
    }); 


    it("should output string when input string", 
    inject(function(fromNowFilter) { 
     fromNowFilter("string"); 
    })); 
}) 
+0

1 yük modülü 2 çağrı yöntemi 3 assert sonuç –

+1

aşağıdaki satırı ekleyerek sabit ama bu birimi olduğu moment.js taklit istiyor test –

+0

'Yasemin alay hizmetine' mi gittiniz? İnternette onlarca örnek var. –

cevap

7

. Ben aynı problem vardı ve benim karma.conf.js için

...files: [ 
    .... 
    'app/bower_components/moment/moment.js', 
    .... 
    ], 
..... 
+0

Bu işe yarayacak; Bununla birlikte, başka bir kod birimi içermemelisiniz, alay kullanmalısınız - aksi halde testleri daha az kullanışlı kılan tek bir ünite test etmiyorsunuz. – Seer

+0

bu yüzden bu çözüm, bu hizmeti taklit etmek için neredeyse iyidir, anı ile işlev hazırlamalıyım ve ihtiyacım olan bu işlevi (nesne), örneğin boş bir nesne olarak kullanmalıyım. Ama manoj-shrestha cevabı da benim bakış açımdan iyidir. –

İlgili konular