continuo a ripetere qualche codice nel mio file spec che inietta un modello e poi compila esso. Ho estratto questo codice in una funzione di supporto per mantenere le cose ASCIUTTE. Credo che il problema sia nel cercare di inserire in beforeEach
in una funzione di supporto. Ecco il pezzo del mio codice che sto cercando di astrarre in una funzione:Come faccio a creare un aiutante per Jasmine/angolare di combinare più di beforeeach
beforeEach(module('app/views/header.html'));
beforeEach(inject(function($templateCache, $compile, $rootScope) {
template = $templateCache.get('app/views/header.html');
$templateCache.put('views/header.html', template);
var directive = angular.element('<clinical-header></clinical-header>');
element = $compile(directive)($rootScope);
$rootScope.$digest();
}));
Qui è la funzione di supporto che ho creato:
var setupTemplate = function(templateName, element) {
beforeEach(module('app/views/' + templateName));
beforeEach(inject(function($templateCache, $compile, $rootScope) {
var template = $templateCache.get('app/views/' + templateName);
$templateCache.put('views/' + templateName, template);
var directive = angular.element(element);
element = $compile(directive)($rootScope);
$rootScope.$digest();
}));
E ora questa è la chiamata alla funzione di supporto :
setupTemplate('header.html', '<clinical-header></clinical-header>');
alla fine della mia funzione di supporto, tutto sembra a posto, ma quando faccio un salto al mio it
blocco, tutto è indefinito. Posso estrarre più beforeEach
? Qual è il modo giusto per farlo? Inoltre, dov'è il posto giusto dove mettere le funzioni di aiuto del gelsomino e come è fatto?
Questo non risolve il problema se si desidera eseguire solo il codice per un sottoinsieme di test, dove i test sono in file separati . –
Hai ragione. Questo funziona per tutti i test, indipendentemente dal loro file. –
Ho una situazione molto simile nel mio progetto. Ho avvolto le mie chiamate globali 'beforeEach' all'interno di una funzione, e ho chiamato quella funzione nella parte superiore del mio blocco' describe' per qualsiasi suite di test che ne ha bisogno. –