【发布时间】:2022-11-14 18:16:12
【问题描述】:
我尝试使用下面的代码,但一直告诉我 无法存根不存在的属性查询 有没有办法存根续集查询?
我在网上找到的只是对象基础续集。
这是代码
const query = async () => {
const Sequelize = require("sequelize");
let db = {};
let sequelize = new Sequelize({
dialect: "mysql",
database: "sample",
username: "test",
password: "test",
host: "sample",
operatorsAliases: 0,
logging: false,
});
db.Sequelize = Sequelize;
db.sequelize = sequelize;
let result = {};
let _metadata = [];
try {
[result, _metadata] = await sequelize.query(query);
result._metadata = _metadata;
}finally{
await sequelize.close();
}
return result;
}
module.export = {
query
}
这是测试
const sinon = require("sinon");
const { expect } = require("chai");
const Sequelize = require("sequelize");
const db = require("./db");
describe("Sequelize Unit Test", () => {
context("Unit Test Start", () => {
let sequelizeStub;
beforeEach(async () => {
sequelizeStub = sinon.stub(Sequelize, "query");
});
// Runs after each test case
afterEach(async () => {
sequelizeStub.restore();
});
it("returns object", async () => {
sequelizeStub.return({ result: [], metadata: [] });
let test = await db.query("test", mockSMcred );
console.log(test);
});
}
}
出于某种原因,我无法存根查询? 尝试了节点模块,我没有看到任何查询
我不能使用模型续集,因为我正在维护一些旧代码。 我真的不知道该怎么做了。
我唯一的方法就是使用查询
【问题讨论】:
-
您的代码无法运行,请修正语法并提供stackoverflow.com/help/minimal-reproducible-example
-
@slideshowp2 现在可以用了
标签: node.js sequelize.js chai sinon stub