У меня проблема, и даже не знаю, с чего начать поиск неисправностей.execFile не называется
Я пользуюсь slightly modified mocha-casperjs. CasperJS является оберткой для PhantomJS. Я пытаюсь интегрировать уведомления Growl о завершении моих тестов.
Я могу выполнить уведомления успешно перед вызовом mocha.run, например, так:
execFile("terminal-notifier", ["-message", "Tests Begin"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
})
// for convience, expose the current runner on the mocha global
mocha.runner = mocha.run(function() {
...
Однако это не удается:
// for convience, expose the current runner on the mocha global
mocha.runner = mocha.run(function() {
execFile("terminal-notifier", ["-message", "Tests Begin"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
})
...
Я много о внутренностях Мокко не знаю , или PhantomJS. Может ли Моха есть еду или что-то в этом роде, заставляя вызов execFile терпеть неудачу? Что-то еще я не получаю?
Спасибо, Kevin
--- UPDATE ---
Участок утолщается. Просто включая объект убийцы убивает execFile.
Выполнение приведенного ниже кода с помощью «casperjs test.js» успешно выводит execFile. Разоблачение объекта casper не приводит к выходу.
'use strict';
var process = require("child_process");
var spawn = process.spawn;
var execFile = process.execFile;
execFile("ls", ["-lF", "/usr"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout));
console.log("execFileSTDERR:", JSON.stringify(stderr));
});
//var casper = require('casper').create();
//casper.exit();
Как это происходит? Вы получили сообщение об ошибке? Исключение? Это просто не выполняется? – Louis
Насколько я могу судить, ничего нет. Нет никаких ошибок и исключений. Обратный вызов никогда не вызван. – thekevinscott