一尘不染

使用 MSSQL 运行 Cypress - 超时

sql

我想在运行我的测试用例之前清理一个数据库,但我只是在运行它时遇到了问题。它只是超时,我不明白 - 希望你能帮助我:)

在测试用例中,我有以下代码块:

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
             }
          }
          )
        }
      })

这是我在测试运行器中遇到的错误: 在此处输入图像描述


阅读 94

收藏
2022-07-21

共1个答案

一尘不染

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
  ...
2022-07-21