Почему я получаю это предупреждение в задании на кипарис? - PullRequest
0 голосов
/ 02 октября 2018

Я запускаю задачу, чтобы заполнить мою базу данных перед хуком.Cypress жалуется, что

Cypress Предупреждение: Cypress обнаружил, что вы вернули обещание в тесте, но также вызвал одну или несколько команд cy внутри этого обещания.

Здесьэто задача

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

И, наконец, тест, который еще ничего не делает

describe('My First Test', () => {
  before(async () => {
    await cy.task('seed:db')
  })

  it('Does not do much!', () => {
    cy.visit(Cypress.env('HOST'))
  })
})

Янет, насколько я вижу, использование команд внутри обещания, как следует из предупреждения.

1 Ответ

0 голосов
/ 05 октября 2018

Насколько я знаю, async не следует использовать внутри Cypress before или любой другой команды (, если только вы не устанавливаете стороннюю библиотеку ).

Пожалуйстапопробуйте с before(() => cy.task('seed:db'))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...