2017-02-07 4 views
1

Я использую mocha + sinon.js + chai. У меня много тестов с большим количеством заглушек и издевок, поэтому моя функция() слишком длинная. есть ли способ организовать мои заглушки в другом файле/файле конфигурации. Я не могу поместить заглушки в before(), потому что каждый тест укутывается по-разному (закройте тот же объект, но с другим поведением).sinon.js - как организовать мои заглушки?

любые хорошие идеи для меня?

Тпх :)

ответ

0

Вы можете использовать babel-plugin-inline-json для загрузки JSON для вашего ответа.
, например. Установите настройку babel-plugin-inline-json.

//.babelrc: 
{ 
    "plugins": [["inline-json", {"matchPattern": "config"}]] 
} 

Определите свой ответ во внешнем файле, как:

//res.config.json 
{ 
    "foo": "bar" 
} 

Используйте его на ваших тестах:

const expect = require('chai').expect; 
const sinon = require('sinon'); 

class SomeObject { 
    doSomething(){ 
     return null; 
    } 
} 

describe('Some tests:', function() {  
     it.only('With fake response',() => { 
     const obj = require('./res.config'); 
     const someObject = new SomeObject(); 
     sinon.stub(someObject,'doSomething').returns(obj); 

     const res = someObject.doSomething(); 

     expect(res).to.haveOwnProperty('foo'); 
     }); 

    }); 
}); 

Вы можете иметь несколько config.json файлы.

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

  • Нет связанных вопросов^_^