Vorrei utilizzare Phantomjs e Jasmine per il test delle unità javascript. Il sito Web di Phantomjs consiglia di utilizzare una cosa separata per gestire questo, in particolare, PhantomJasmine. Ho scaricato PhantomJasmine e ho eseguito l'esempio. Tutto è andato alla perfezione. Ho quindi aggiunto la riga var system = require('system');
all'inizio di example_spec.js. Ora il Phantomjs genera un errore quando provo a eseguire l'esempio. Ricevo "ReferenceError: Can not find variable: require". Quindi, voglio avere bisogno di cose come avviare il browser, ma sembra che non sia possibile combinare la sintassi di jasmine AND phantomjs. Posso eseguire solo jasmin usando Phantomjs. Come posso usare entrambi nello stesso file? Mi piace:PhantomJS "Impossibile trovare la variabile: require" quando si utilizza PhantomJasmine
console.log('Loading a web page');
var page = new WebPage();
var url = "http://www.phantomjs.org/";
page.open(url, function (status) {
//Page is loaded!
describe("A suite", function() {
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
});
phantom.exit();
});
ho i miei file separati. Ho fatto lo stesso errore. Il contenuto interno del mio tag head nel file html è: dove execPage.js contiene puro codice phantomjs e jaztest1 contiene codice puro jasmine. Ho anche guardato in Grunt. E 'solo un altro è stato quello di eseguire Jasmine con fantasma js. Devo sapere come eseguire gli script di Jasmine AND Phantomjs l'uno con l'altro. es .: vai alla pagina, esegui jasmine. – Hohohodown
Penso che sto migliorando il problema. Ecco lo scenario: ho tests.js che è alcuni test di gelsomino. Voglio navigare su google.com e verificare che la barra di ricerca si presenti. google.com non include alcun gelsomino. Come posso fare questo? – Hohohodown
Chiama lo script jasmine nella pagina html, non tramite PhantomJS. Fondamentalmente lo si imposta ESATTAMENTE come si farebbe quando si eseguono i test di gelsomino manualmente e quindi si passa semplicemente l'URL di quella pagina HTML a PhantomJS per eseguirlo nella riga di comando. – Creynders