Я не вижу той же проблемы, что и вы.Я получаю 100% покрытие.
Вы говорите, Стамбул, но на самом деле вы правильно используете пакет nyc ?Я думаю, вы обнаружите, что проект instanbul предлагает вам использовать nyc runner, если вы этого еще не сделали.
Рассмотрите возможность обновления вашей среды, если вы можете.
rm -rf .nyc_output && rm -rf coverage && rm -rf node_modules
npm i --save-dev nyc mocha chai
Если это не проясняет ситуацию, подумайте об удалении вещей, по крайней мере временно, которые вы не используете в этих конкретных тестах.например, синон и чай как обещано.Изолировать код.Посмотрите, есть ли там конфликты.
Попробуйте этот похожий код.Я получаю полное покрытие.
./node_modules/.bin/nyc --reporter html ./node_modules/.bin/mocha test.js
test.js
const { expect } = require('chai')
const AgentMessage = require('./index');
describe('agentMessage test', function () {
let agentMessage;
beforeEach(function () {
agentMessage = new AgentMessage('agentId01', 'message02');
});
it('agentMessage set agentId Test', async function () {
agentMessage.agentId = 'agentId02';
expect(agentMessage.agentId).to.deep.equal('agentId02');
});
});
Если после всего этого, если это все еще проблема, если вы используете более продвинутыйКонфигурация nyc / istanbul , начните удаление этой конфигурации и используйте свойства по умолчанию.Посмотрите, найдете ли вы сладкую / беспокойную часть.