Я использую nodeJS и создал модульные тесты, используя sinon, chai и покрытие кода ny c. но ny c возвращает 0% для операторов, строк, функций -
======================= Сводка покрытия == =============================
Заявления: 0% (0/34) Филиалы: 100% (0 / 0) Функции: 0% (0/4) Строки: 0% (0/34)
app. js -
exports.get = async (event, context) => {
try {
const data = await getResult(13, 'table', 'inbox', false, 2);
return success(data);
} catch (err) {
return failure({ status: false });
}
};
app.test.unit. js
const sandbox = sinon.createSandbox();
const expect = chai.expect;
let event, context;
describe('test get', () => {
afterEach(() => {
sandbox.restore();
});
it('get should return success', async () => {
// Mock
const result = { };
sandbox.stub(lambda, 'getResult').returns(result);
// Act
let response = await get(event, context);
expect(response.statusCode).equal(200);
});
it('get should return failure', async () => {
sandbox.stub(lambda, 'getResult').throws(new Error('whatever'));
// Act
let response = await get(event, context);
console.log(response.body);
//Expect
expect(response.statusCode).equal(500);
});
});