为什么在柏树任务中会收到此警告?

时间:2018-10-01 22:26:12

标签: cypress

我正在运行一个任务,以便将我的数据库播种到before钩子中。赛普拉斯抱怨

  

赛普拉斯警告:赛普拉斯检测到您在测试中返回了一个诺言,但是还在该诺言中调用了一个或多个cy命令。

这是任务

ColumnConstraints c1 = new ColumnConstraints();
c1.setHgrow(Priority.NEVER);

ColumnConstraints c2 = new ColumnConstraints();
c2.setHgrow(Priority.ALWAYS);

gridPane.getColumnConstraints().addAll(c1, c2, c1);

这是种子函数

import { seed } from '../../../src/server/db/seed'

const pluginHandler = on => {
  on('task', {
    'seed:db': () => {
      return seed()
    }
  })
}

export default pluginHandler

最后是测试,它还没有做任何事情

import { exec } from 'child_process'
import util from 'util'

const execP = util.promisify(exec)

export const seed = () => {
  // Drop notes.
  return execP('mongo starter_test --eval "db.notes.drop()"')
    .then(async () => {
      // Insert notes fixtures.
      await execP(
        'mongoimport --db starter_test --collection notes --file ./src/server/db/notes.json'
      )
    })
    .then(() => {
      return 0
    })
}

据我所知,我并没有按照警告提示使用诺言中的命令。

1 个答案:

答案 0 :(得分:0)

据我所知,async不应在赛普拉斯before或任何其他命令(unless you install a 3rd-party lib)中使用。

请尝试使用before(() => cy.task('seed:db'))