spawn 不是函数

spawn is not a function

我在赛普拉斯的某个测试之前创建了一个运行对Sybase数据库的更新,但是当运行ning时出现以下错误 “生成不是一个函数”

before(() => {
    var Sybase = require('sybase'),
    db = new Sybase('host', '4400', 'dbname', 'user', 'pass');

db.connect(function (err) {
    if (err) return console.log(err);

    db.query("update ..... ", function (err, data) {
        if (err) console.log(err);

        console.log(data);

        db.disconnect();

    });
});```

node-sybase 需要 NodeJS 运行,因为它调用了 spawn,这是一个 Node 函数。

您需要将 sybase 代码添加到 task,这是 Cypress 运行s 节点代码的位置,

/cypress/plugins/index.js

module.exports = (on, config) => {
  on('task', {
    sybaseQuery(queryString) {

      // sybase connection and query code here

      return null
    },
  })
}

测试

before(() => {
  cy.task('sybaseQuery', 'update...')
})

/cypress/plugins/index.js

module.exports = (on, config) => {
  on('task', {
    sybaseQuery() {

      var Sybase = require('sybase'),
        db = new Sybase('host', '4400', 'dbname', 'user', 'pass');

      db.connect(function (err) {
        if (err) return console.log(err);

        db.query('', function (err, data) {
          if (err) console.log(err);

          console.log(data);

          db.disconnect();

        });
      });
      return null
    }
  })
}

测试

it('Dado que esteja preenchido a data de ultima consulta e numero de prazo de entrega', () => {

cy.task('sybaseQuery',"update dbo.CARTAO_USU_CARTAO_COMPLEMENTO set nr_prazo_entrega_cartao = '25' where nr_cartao =  '6035740409054753'")