Как получить доступ к объектам экспортированных функций для модульного тестирования с помощью Jest - PullRequest
0 голосов
/ 23 января 2020

Как получить доступ к объектам экспортированных функций для модульного тестирования с использованием jest (node JS) В основном я ищу способ доступа к объектам экспортированных функций и их тестирования. Помогите

//function.js
async function createTempUsageStatisticsTable(athenaExpress) {
let athenaQueryParam = {
    sql: getSqlQueries.CREATE_DEVICE_USAGE_STATS_TEMP_TABLE_QUERY,
    db: "testdb"
};
try {
    await athenaExpress.query(athenaQueryParam);
}
catch (error) {
    console.error;
}
}
module.exports = {
  createTempUsageStatisticsTable: createTempUsageStatisticsTable
};

//function.test.js
const index = require('./function')
//require a test to check if sql has 
//getSqlQueries.CREATE_DEVICE_USAGE_STATS_TEMP_TABLE_QUERY

//require a 2nd test to check if db is testdb

1 Ответ

0 голосов
/ 23 января 2020

Вы можете передать запрос как jest.mock и убедиться, что его вызываемое значение должно соответствовать ожидаемому. //function.test.js

const index=require('./function')
test('expect value', () => {
  const mockAthenaExpress = {
    query: jest.fn()
  }
  const testObj = index. createTempUsageStatisticsTable(mockAthenaExpress);
  expect(mockAthenaExpress.query.mock.calls[0][0].db).toEqual('testdb');
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...