2012-09-20 22 views
8

Acabo de buscar inyección de dependencia en mi estrategia de prueba de unidad utilizando RequireJS y Jasmine. Realmente me gusta la idea detrás de testr y he intentado configurar testr siguiendo los ejemplos en github, pero no puedo entender cuál es el problema. Siempre aparece el errorInyección de dependencia de JavaScript utilizando RequireJS, Jasmine y testr

Error: module has not been loaded: today

cuando testr intenta cargar el módulo que se va a probar.

Aquí un poco de contexto ..

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(); 
}); 

espec \ 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 ..

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

¿Hay alguien que han estado con el el mismo tipo de problema? . Estoy utilizando RequireJS 2.0.6

Gracias.

Respuesta

1

Su módulo 'today' debe cargarse desde requirejs antes de usarlo con testr. Pruebe algo como:

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'); 
     }); 
    }); 
}); 

Lea también: http://cyberasylum.janithw.com/mocking-requirejs-dependencies-for-unit-testing/

+0

bien. He estado trabajando para que Testr funcione durante unos días seguidos ahora. Esto es lo más cerca que he estado de ver un proyecto de ejemplo. He creado un repositorio github para este ejemplo (con algunos ajustes menores) usando jazmín para compartirlo con otros. Sin embargo, todavía no está funcionando. ¿Alguien puede ayudar aquí? Gracias. https://github.com/loesak/jasmine-maven-require-testr – loesak

+0

Estoy teniendo el mismo problema. De hecho, lo cargo manualmente como dep en my require.config, y Karma muestra que el archivo se está solicitando (primero). – FlavorScape

Cuestiones relacionadas