我正在运行一个任务,以便将我的数据库播种到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
})
}
据我所知,我并没有按照警告提示使用诺言中的命令。
答案 0 :(得分:0)
据我所知,async
不应在赛普拉斯before
或任何其他命令(unless you install a 3rd-party lib)中使用。
请尝试使用before(() => cy.task('seed:db'))