Ответы на вопросы на собеседование Тестирование. JUNIT.

  • Чем стаб (stub) отличается от мока (mock)?

Stub - объекты, которые предоставляют заранее заготовленные ответы на вызовы во время выполнения теста и обычно не отвечающие ни на какие другие вызовы, которые не требуются в тесте. Также могут запоминать какую-то дополнительную информацию о количестве вызовов, параметрах и возвращать их потом тесту для проверки. Используется для "затычки" сервисов, методов, классов и т.д. Абсолютно все равно что они вернут при работе или сколько раз произойдет вызов.
Mock - объекты, которые заменяют реальный объект в условиях теста и позволяют проверять вызовы своих членов как часть системы или unit-теста. Содержат заранее запрограммированные ожидания вызовов, которые они ожидают получить. Применяются в основном для т.н. interaction (behavioral) testing. Используется для подмены результатов вызова функций в юнит тестах (важен результат), для учета количества вызовов функций и просто ожидания их вызовов. Используется в области Assert юнит теста.

  • Что такое unit testing?

Модульное тестирование или unit testing - процесс проверки на корректность функционирования отдельных частей исходного кода программы путем запуска тестов в искусственной среде.

  • Что такое Фикстуры?

Фикстура (Fixture) - состояние среды тестирования, которое требуется для успешного выполнения тестового метода. Может быть представлено набором каких-либо объектов, состоянием базы данных, наличием определенных файлов, соединений и проч.

  • Какие есть аннотации фикстур?

Предусмотрено четыре аннотации фикстур - две для фикстур уровня класса и две для фикстур уровня метода.
  • @BeforeClass - запускается только один раз при запуске теста.
  • @Before - запускается перед каждым тестовым методом.
  • @After - запускается после каждого метода.
  • @AfterClass - запускается после того, как отработали все тестовые методы.

  • Для чего нужна Аннотация @Ignore?

Аннотация @Ignore заставляет инфраструктуру тестирования проигнорировать данный тестовый метод. Аннотация предусматривает наличие комментария о причине игнорирования теста, полезного при следующем к нему обращении.

  • Что такое интеграционные тесты?

Интеграционные тесты - это тесты, проверяющие работоспособность двух или более модулей системы, но в совокупности - то есть нескольких объектов как единого блока.

Рассказать друзьям:

0 коментарі :

Отправить комментарий