У меня есть интерфейс, который определяет поведение объекта, который выполняет поиск в графе, который называется скажем GraphSearcher. В настоящее время у меня есть куча различных реализаций с большим количеством вариантов пути, и поэтому я определил тестовые классы как абстрактные с конкретными тестовыми методами и абстрактный метод, который создает реализацию объекта поиска графа.
Это нормально, за исключением того, что у меня есть несколько разных классов (около 10 на данный момент), каждый из которых выполняет множество тестов на основе данных реального мира. Это означает, что для каждой конкретной реализации я заканчиваю тем, что пишу целые лоты тестовых классов, просто содержащих метод создания экземпляров.
Все это показалось мне немного беспорядочным, и мне было интересно, знает ли кто-нибудь о лучшем решении. Я думаю, что в идеале я хотел бы иметь возможность передать объект фабрики GraphSearcher в какой-то набор тестов и запустить все различные классы тестов. Это будет означать, что мне нужно будет написать лишь небольшой кусочек кода, чтобы новая реализация GraphSearcher работала со всеми тестами. Я просто не знаю, как это сделать с помощью junit 4. Я уверен, что должен быть какой-то довольно стандартный способ сделать это, но я пока не смог ничего найти. Любые указатели, которые есть у кого-либо, будут высоко оценены