2016-02-23 2 views
0

Я пытаюсь использовать phantomjs-node с мокко, чтобы запустить некоторые тестыНе удается запустить тесты мокко с phantomjs-узла

var phantom = require('phantom'); 
phantom.create().then(function(ph) { 
    ph.createPage().then(function(page) { 
     page.open('http://localhost:8900').then(function(status) { 
      console.log(status); 
       if (status === "success") { 
       page.injectJs("../node_modules/mocha/mocha.js"); 
       page.injectJs("../node_modules/chai/chai.js"); 

       //inject your test reporter 
       page.injectJs("testMocha/reporter.js"); 

       //inject your tests 
       tests.forEach(function(test) { 
       page.injectJs(test); 
       }) 

       page.property('evaluate').then(function() { 
        window.mocha.run(); 
       }); 
      }else{ 
       ph.exit(); 
      } 
     }); 
    }); 
}); 

Я запустить файл с

node myFile.js 

Но когда я запустить файл ничего отображается в консоли, ни один из моих тестов не запускается, и скрипт зависает.

Если бы я сделать это без phantomjs-узла я могу работать и показывать свои тесты, запустив файл с

phantomjs myFile.js 

, но мне нужно phantomjs-узел, чтобы делать другие вещи, необходимые для моих тестов. Как я могу мокко с phantomjs-node?

ответ

0

решение моей проблемы в том, что первый мне нужно, чтобы начать оценивать так:

page.evaluate(function() { 

Я думал, что я должен был сделать page.property('evaluate').then(function() { причину я использовал phantomjs-узел, но это не тот случай

И вторая причина, я не мог видеть мои результаты тестов из мокко, потому что в моем файле репортер я показывал результат с callPhantom:

window.callPhantom({ message: args.join(" ") }); 

Но с phantomjs-узла это, кажется, не работает так, а не просто сделать простой console.log

console.log(args.join(" ")); 

An Exemple репортера я использую и большой учебник о том, как использовать phantomJS и мокко вместе можно найти там :

http://doublenegative.com/phantomjs-mocha-and-chai-for-functional-testing/

Смежные вопросы