我想在运行我的测试用例之前清理一个数据库,但我只是在运行它时遇到了问题。它只是超时,我不明白 - 希望你能帮助我:)
在测试用例中,我有以下代码块:
beforeEach(() => { cy.task("cleanUpDB", { sql:"UPDATE SQL GOES HERE" })
然后转到我的 cypress.config 文件并执行以下命令:
on("task", { cleanUpDB({ theQuery }) { return new Promise(async(resolve, reject) => { try{ await sql.connect(DBConfig) const result = await sql.query(theQuery); console.log(result) return resolve(result); } catch (err) { // ... error checks } } ) } })
这是我在测试运行器中遇到的错误:
sql您必须在任务中使用相同的属性名称
sql
beforeEach(() => { cy.task("cleanUpDB", { sql:"UPDATE SQL GOES HERE" }) on("task", { cleanUpDB({ sql }) { // since you wrap the parameter ... // you must use the property name sql
或者直接传入查询
beforeEach(() => { cy.task("cleanUpDB", "UPDATE SQL GOES HERE") on("task", { cleanUpDB(theQuery) { // name can be anything ...