В настоящее время у меня есть функция, которая читает файл. Когда я бросаю и тест на ошибку за пределами ReadFile обратного вызова, он работает:Как подключить тестовую логику внутри файла FileSystem.readfile узла cb
var doWork = function(path) {
//throw new RangeError('blah'); // works, error is thrown
fs.readFile(path, 'utf-8', function(error, data) {
//etc.... logic.. etc..
if(data.split('\n')[0] > x)
throw new RangeError('blah'); //does not work
});
}
Мои тесты:
describe('my test suite', function(){
it('should throw an error', function(){
var func = function() {
doWork('my path');
}
var err = new RangeError('blah');
expect(func).to.throw(err); //no error is thrown if "throw" is inside readFile cb
});
});
Результаты:
AssertionError: expected [Function: func] to throw RangeError
at Context.<anonymous> (test.js:53:27)
https://www.joyent.com/node-js/production/design/errors – dm03514