Детокс (wix): определение элементов для всего тестового файла - PullRequest
0 голосов
/ 24 сентября 2019

Я пытался работать над этим весь день, но, похоже, не могу его взломать.

Использование Detox (с Jest) для тестирования приложения React Native (на Android).

мой тестовый файл выглядит следующим образом ...

describe('The screen:', () => {
  beforeEach(async () => {
    await waitFor(element(by.id('comp.screen.tandc')))
      .toExist()
      .withTimeout(5000)
  })

  it("'I AGREE' button should be disabled and do nothing.", async () => {
    await expect(
      element(by.id('comp.button'))
    ).toExist()

    await element(by.id('comp.button')).tap()

    await expect(element(by.id('comp.screen.tandc'))).toExist()
  })

, который отлично работает, тесты проходят успешно и т. Д.

Однако я хочу продолжить писать тесты в наборе describeкоторый будет использовать те же элементы.Вместо того, чтобы повторяться в коде для определения element(by.id('blah.blah.blah')), я хотел бы определить эти части by.id() один раз в файле и использовать их повторно.

Вот так ...

const screen = by.id('comp.screen.tandc')
const button = by.id('comp.button')
describe('The screen:', () => {
  beforeEach(async () => {
    await waitFor(element(screen)))
      .toExist()
      .withTimeout(5000)
  })

  it("'I AGREE' button should be disabled and do nothing.", async () => {
    await expect(
      element(button
    ).toExist()

    await element(button).tap()

    await expect(element(screen)).toExist()
  })

Это приводит к ошибке:

ReferenceError: by не определено

Определениеподобные const работают, но только когда const определен в методе it().Поэтому я могу использовать их только для этого одного it() теста, а не для всего набора.

Есть идеи, как мне это сделать?

...