Создание классов-заглушек сторонних библиотек для модульных тестов - PullRequest
0 голосов
/ 27 января 2011

Я пытаюсь провести модульное тестирование расширения библиотеки SWT. Мне трудно понять, как эффективно макетировать и заглушать классы, которые я расширяю для разработки своих виджетов.

Лучшее решение, о котором я до сих пор думал, - это переопределить классы SWT в моем исходном тесте, чтобы они загружались поверх существующих библиотек SWT. Тогда у меня есть возможность заставить методы-заглушки делать все, что мне нужно.

Единственная проблема, с которой я сейчас сталкиваюсь с этим методом, это то, что файлы классов, такие как Control.java, имеют длину более 8 КБ, и я хочу заглушить каждый метод, поэтому у меня нет эффективного способа удаления кода, который пытается получить доступ к базовому методу. API GUI операционной системы Я не хочу проходить через эти строки кода.

Там наверняка должно быть что-то, что я делаю ужасно неправильно, пожалуйста, помогите!

1 Ответ

1 голос
/ 28 января 2011

Используете ли вы какие-либо инструменты для моделирования?

Я бы посоветовал вам попробовать частичное моделирование с помощью easymock (вы просто заменяете один метод или методы в объекте).Существует также PowerMock для тестирования статических / финальных методов и JMockit для некоторых действительно жестких тестов.

Надеюсь, я ответил на ваш вопрос.

...