#java #junit
При написании тестов на jUnit 4 столкнулся с необходимостью сымитировать потерю доступа в интернет для проверки устойчивости приложения. Есть какие-нибуть стандартные механизмы, которые это могут обеспечить ибо отключать WiFi при запуске тестов некошерно же.
Ответы
Ответ 1
Все верно - ваш тест не должен зависеть от конфигурации и быть "полу" автоматическим. Скорее всего у вас сильно связанный код. Разделите на два метода - нормальное выполнение, и аварийное(скорее всего, метод с выбросом Exception). Тогда их можно будет проверить отдельно. Был бы код, объяснил бы с примером :)Ответ 2
Вынесите кусок кода отвечающий за коннект в отдельный класс расширяющий стандартный функционал, например для сокетов: public TestSocket extends Socket { private Class myClass; public TestSocket(Class myClass) { super(); this.myClass=myClass; } @Override public InpuStream getInputStream() { if(myClass.getName().indexOf("MyTestSuite") > 0) { //если это тестовый класс return new ByteArrayInputStream(new byte[0])); //возвращаем пустой поток return super.getInputStream(); } } } Ну в общем схема как идея - дальше применительно к вашему коннекту можно развить и дальше.
Комментариев нет:
Отправить комментарий