2015-03-18 3 views
0

У меня есть несколько тестов с ночными очками с настройкой и разрывом в каждом тесте. Я пытаюсь объединить его в globalModule.js в before after (путь установлен в globals_path в nightwatch.json).Тестовый контекст, отсутствующий до и после тестового крючка в ночном свете js globals

//globalModule.js  
before:function(test, callback){ 
// do something with test object 
} 

//sampletest.js 
before: function(test){ 
.. 
}, 

'testing':function(test){ 
.... 
} 

Моя проблема в тестовом контексте недоступна в globalsModule.js. Как мне его получить? Может ли кто-нибудь сообщить мне об этом?

ответ

0

Тестовые контекс недоступен сейчас. Как сказал битфактор, он скоро появится. Пока он не доступен, попробуйте использовать локальный файл перед первым, но он взломает. Также вы можете экспортировать весь свой файл в один объект и экспортировать его в nightwatch, но затем вы можете использовать локальный как раз вовремя. Например:

var tests = {}; 
 
var befores = []; 
 
var fs =require('fs'); 
 
var requireDir = require('require-dir'); 
 
var dirs = fs.readdirSync('build'); 
 
//if you have dirs that should exclude 
 
var usefull = dirs.filter(function(item){ 
 
    return !(item=='data') 
 
}); 
 

 
usefull.forEach(function(item){ 
 
    var dirObj = requireDir('../build/' + item); 
 
    for(key in dirObj){ 
 
     if(dirObj.hasOwnProperty(key)) 
 
     for(testMethod in dirObj[key]) 
 
      if(dirObj[key].hasOwnProperty(testMethod)) 
 
       if(testMethod == 'before') 
 
        befores.push(dirObj[key][testMethod]); 
 
       else 
 
        tests[testMethod] = dirObj[key][testMethod]; 
 
    } 
 
}); 
 
tests.before = function(browser){ 
 
    //some global before actions here 
 
    //... 
 
    befores.forEach(function(item){ 
 
     item.call(tests,browser); 
 
    }); 
 
}; 
 
module.exports = tests;

Для получения дополнительной информации https://github.com/beatfactor/nightwatch/issues/388