Детокс - Как заставить работать предыдущую спецификацию до запуска новой спецификации, чтобы избежать повторяющихся шагов теста?
Итак, я написал тест, который регистрирует пользователя:
describe('Login', () => {
beforeEach(async () => {
await device.reloadReactNative()
})
it('Should grant access to a user with valid credentials', async () => {
test code
})
})
И теперь я пишу новую спецификацию для выхода из системы пользователя, поэтому вместо того, чтобы снова писать тот же тестовый код, я хочу, чтобы спецификация входа выполнялась в рамках спецификации выхода из системы. Я думаю, что это будет выглядеть примерно так:
describe('Log Out', () => {
beforeEach(async () => {
await device.reloadReactNative()
it ('Should grant access to a user with valid credentials')
})
it('A User Logs Out', async () => {
test code
})
Как заставить Detox выполнить первый тест входа в систему, прежде чем переходить к новым шагам?
К сожалению, beforeEach ("Должен предоставить доступ пользователю с действительными учетными данными") не работает, поэтому в синтаксисе что-то отсутствует.
2 ответа
Это не имеет никакого отношения к Detox, это описание /it API связано с тем, кого вы используете. В любом случае, используйте функции:
describe('Login', () => {
beforeEach(async () => {
await device.reloadReactNative();
await grantAccessToUserWithValidCredentials();
});
it('A User Logs Out', async () => {
// here the app is ready for you specific log out use case
});
async function grantAccessToUserWithValidCredentials() {
//grant it
}
});
Лучше всего использовать драйверы в своих тестах. Вы можете проверить эти слайды: http://slides.com/shlomitoussiacohen/testing-react-components