2012-09-20 25 views
8

Sadece RequireJS ve Jasmine kullanarak birim test stratejimde bağımlılık enjeksiyonu arıyorum. testr'un arkasındaki fikri çok beğeniyorum ve github'daki örnekleri izleyerek testr'i kurmaya çalıştım ama neyin yanlış olduğunu anlayamıyorum. Testr, test edilecek modülü yüklemeye çalıştığında her zamanRequireJS, Jasmine ve testr kullanılarak JavaScript bağımlılık enjeksiyonu

Error: module has not been loaded: today

hatalarını alır. İşte

bazı bağlam

..

index.html ..

<script data-main="config" src="../../assets/js/libs/require.js"></script> 
<script src="vendor/testr.js"></script> 

config.js ..

require.config({ 

    // Initialize specs. 
    deps:["main"], 
... 
... 
}); 

main.js ..

require([ 
    // Load the example spec, replace this and add your own spec 
    "spec/today" 
], function() { 
    var jasmineEnv = jasmine.getEnv(); 
    jasmineEnv.execute(); 
}); 

Spec \

define(['string', 'util/date'], function(string, date) { return { getDateString: function() { return string.format('Today is %d', date.today); } } }); 

ile olmuştur kimse var mı ..
today.js ..

describe('Today print', function() { 
    var date = {}, today; 
    beforeEach(function() { 
    date.today = new Date(2012, 3, 30); 
    today = testr('today', {'util/date': date}); //Here is where the error is thrown 
    }); 

    it('is user-friendly', function() { 
    expect(today.getDateString()).toBe('Today is Monday, 30th April, 2012'); 
    }); 
}); 

today.js aynı tür bir sorun mu var? . RequireJS 2.0.6

Kullanıyorum.

cevap

1

'Bugün' modülünüzün, testr ile kullanmadan önce requirejs'den yüklenmesi gerekir.

require(['today'], function(){ 
    describe('Today print', function() { 
     var date = {}, today; 
     beforeEach(function() { 
     date.today = new Date(2012, 3, 30); 
     today = testr('today', {'util/date': date}); //Here is where the error is thrown 
     }); 

     it('is user-friendly', function() { 
     expect(today.getDateString()).toBe('Today is Monday, 30th April, 2012'); 
     }); 
    }); 
}); 

Ayrıca okuyun:: http://cyberasylum.janithw.com/mocking-requirejs-dependencies-for-unit-testing/

+0

tamam gibi bir şey deneyin. Şimdi birkaç gün testr almak için çalışıyordum. Bu, örnek bir proje görmeye en yakın olduğum şey. Bu örnek için (bazı küçük tweaks ile) başkalarıyla paylaşmak için yasemin kullanarak bir github repo oluşturdum. Ancak, hala çalışmıyor. Burada yardımcı olan var mı? Teşekkürler. https://github.com/loesak/jasmine-maven-require-testr – loesak

+0

Aynı sorunu yaşıyorum. Aslında, el ile onu require.config dosyasında deposu olarak yüklüyorum ve Karma, dosyanın talep edildiğini gösteriyor (önce). – FlavorScape

İlgili konular