Я пытался работать над этим весь день, но, похоже, не могу его взломать.
Использование 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()
теста, а не для всего набора.
Есть идеи, как мне это сделать?