【发布时间】:2021-06-08 16:27:03
【问题描述】:
我使用以下代码在database/index.ts 文件中初始化一个sequelize db:
import { Sequelize } from 'sequelize';
const {
DATABASE_DIALECT,
DATABASE_HOST,
DATABASE_PORT,
DATABASE_USER_NAME,
DATABASE_USER_PASSWORD,
DATABASE_NAME,
ENVIRONMENT
} = process.env;
const sequelize = new Sequelize({
host: DATABASE_HOST,
port: +(DATABASE_PORT as string),
dialect: DATABASE_DIALECT as 'postgres',
database: DATABASE_NAME,
username: DATABASE_USER_NAME,
password: DATABASE_USER_PASSWORD,
logging:
(ENVIRONMENT as string) === 'production' || (ENVIRONMENT as string) === 'acceptance'
? false
: console.log,
query: {
raw: true // Receive a plain object/array as a response from Sequelize (default response contains a lot of Sequelize metadata)
}
});
export default sequelize;
我需要测试 logging 属性,因为它由检查 ENV 的三元运算符确定。
为了测试这一点,我需要检查调用 new Sequelize(...) 的参数。
如何在 Jasmine 中做到这一点?我阅读了很多文章,看起来我们无法监视 Sequelize 类本身来检查调用参数。
【问题讨论】:
标签: javascript node.js postgresql unit-testing sequelize.js