2013-11-27 6 views
0

У меня есть следующий скрипт NodeJS, который проверяет адрес для задач автоматизации сети и выполняет его при получении. Опрос и анализ ответов хорошо, но я не уверен, как синхронно огонь тест мокко бегуна в res.on() метода:запустить mocha задачу синхронно в setInterval

var express = require('express'); 
//...  
app.set('port', process.env.PORT || 3000); 
//... 

if ('development' == app.get('env')) { 
    app.use(express.errorHandler()); 
} 

app.get('/', routes.index); 
app.get('/users', user.list); 

    var getTestTaskFromQueue = { 
    host: 'remotehost', 
    port: 3000, 
    path: '/met/my/test', 
    method: 'GET' 
    }; 

    setInterval(function() { 

    var reqGet = http.request(getTestTaskFromQueue, function (res) { 
     var content; 

     res.on('data', function (chunk){ 
     content += chunk; 
     }); 

     res.on('end', function() { 
     content = JSON.parse(content.substring(9, content.length)); 
     console.info("\nReceived Task:\n"); 
     //run one test via mocha here 
     });  
    }); 

    reqGet.end(); 
    reqGet.on('error', function (e) { 
     console.error(e); 
    }); 
    }, 10000); 

И тест бегун в настоящее время работает нормально с CLI, как, например:

mocha test/folders/test_script.js --browser "firefox" --param1 foo 

Я проверяю остановку цикла setInterval во время запуска запуска mocha и перезапуска его из обратного вызова, но как мне выполнить фактический тест мокки - из одного скрипта или поговорить с CLI через подпроцесс?

ответ

1

Вы можете позвонить mocha.run(), чтобы начать свой тест, как только ваша среда будет готова.

Хотя, то, что вы ищете, вероятно, окурка и фиктивных предметов предотвратить тест от взаимодействия с внешними источниками.

+0

Спасибо Саймон, я дам это, и если у вас есть успешное обновление исходного вопроса с рабочим кодом. –

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