2009-05-19 2 views
0

Я пишу веб-приложение, которое содержит своего рода расписание. После определенного действия расписание обновляется, и когда пользователь посещает страницу в тот день, что-то происходит.Как проверить функционально, что что-то должно произойти в данное время?

Любые идеи, как написать функциональный (прием) тест для такого рода функций?

Я пишу эти сквозные тесты, используя Selenium. Единственная идея, которую я имею, - это возможность заставить сервер использовать указанную дату, посетив URL-адрес, например /set-fixed-time?time=..., а затем после пробного посещения /set-real-time.

На сервере я бы использовал пользовательский объект, чтобы получить текущее время, и этот объект будет заменен при посещении одного из URL-адресов.

ответ

2

Я думаю, что это нормально для тестирования разработчиков, однако приемочные испытания должны проводиться без макета (у вас может быть ошибка в вашем макетном коде). если он должен ждать 3 дня, чем приемочный тест должен ждать эти древовидные дни или они могли бы обходить его, изменив время сервера. я думаю, что его плохая идея оставить задние двери только для тестирования (некоторые тестировщики могут проверить это вручную, а затем забыть/установить в реальном времени).

+0

Хорошие баллы, спасибо. И я могу просто забыть использовать поставщик времени вместо системного времени. Я бы отключил эти/set - * - службы времени в рабочей среде. –

0

Я согласен с Monkey, это лучше всего обрабатывать разработчики.

Вы также можете попробовать гибрид. Нет причин, по которым все ваши приемочные тесты должны выполняться на неизмененной симуляции производственного сайта или им разрешено использовать только веб-интерфейс или не может изменять вещи как администратор или не может выполнять код. Вам также не нужно менять время всего сервера, что является глобальным и, вероятно, будет иметь непреднамеренные последствия. Вместо этого вы можете изменить, когда пользователь был последним обновлен.

Вы можете управлять селеном из программы, поэтому гибридный тест Selenium и кода может использовать код для установки «когда был последний раз обновлен» данных пользователя, а затем выполнить тесты Selenium для проверки результата. Попробуйте, когда его никогда не запускали, как раз перед истечением времени, точно, когда время истекает и сразу после.

Смежные вопросы