Вы должны использовать хук before
только для настройки ваших тестов, а не для того, чтобы утверждать, что код, который вы пытаетесь протестировать, работает так, как вы ожидаете (больше информации о хуках и их использовании в mocha документация ).
Чтобы утверждать, что код, который вы пытаетесь протестировать, действительно ведет себя так, как вы ожидаете, вы должны поместить свой код в it
.
Принимая это во вниманиеВы можете прочитать необработанные данные вашего json-файла в хуке before
(поскольку эта часть является настройкой теста), а затем записать синтаксический анализ строки json в тесте:
var rawData;
before(function() {
// No need to use 'done' since we are performing a synchronous task
rawData = fs.readFileSync(process.cwd() + '/path/to/data.json', 'utf8');
});
it('should correctly parse the json', function() {
var data = JSON.parse(rawData);
// Your expectations about data would be placed here.
});
Чтобы оправдать ожидания, вы можете использовать любую библиотеку утверждений, которую вы хотите , и вам следует убедиться, что data
имеет свойства и значения, которые присутствуют в вашем файле 'path / to / data.json'.
Например, если вы используете библиотеку chai для утверждений и ваш файл data.json
содержит:
{ key1: 'value1', key2: 'value2' }
, вы можете написать утверждение:
it('should correctly parse the json', function() {
var data = JSON.parse(rawData);
// Your expectations about data would be placed here.
expect(data).to.deep.equal({ key1: 'value1', key2: 'value2' });
});