Насмешливые запросы Knex с Sinon - PullRequest
0 голосов
/ 23 мая 2018

Я хочу создать модульные тесты для проверки моего кода.Я хотел бы посмеяться над ответом из кода knex, например:

async function getDataById({ id }) {
return knex
    .from('data')
    .select(
        'a AS A',
        'b as B',
    )
    .where('id', id);}

Я недавно перешел на использование Knex, поэтому до этого мой тест был

describe('Data Get', () => {
let dBStub;
before(() => {
    dBStub = sinon.stub(conn, 'executeQuery');
    dBStub.withArgs(sinon.match.string, validId).returns(data);
});

after(() => {
    conn.executeQuery.restore();
});

it('Should provide prices for valid ID', () =>
    pricesDb
        .get({ id: validId })
        .should.eventually.deep.equal({ data: expected }));

У меня больше нет запроса на выполнениеметоды и просто есть файл knex.

Как преобразовать тесты, чтобы обеспечить имитацию ответа от функции getDataById?

Когда я преобразовываю заглушку в метод getDataByID, я получаю следующую ошибку: TypeError: Невозможно заглушить несуществующее собственное свойство

...