繁体   English   中英

如何使用 jest 访问导出函数的对象以进行单元测试

[英]How to access objects of exported functions for unit testing using jest

如何使用 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

您可以将查询作为 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');
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM