У меня есть проект, который состоит из нескольких модулей (4, если быть точным). Ниже приведен пример:
модуль A -> состоит из основного класса Application с config. так же
Модуль A также состоит из нескольких классов конфигурации.
модуль B -> состоит из тонны услуг.
модуль C -> состоит из всех общих модулей, которые могут использоваться между модулями.
модуль D -> состоит из задач, над которыми я сейчас работаю.
Теперь, когда я пишу тестовые примеры для задач в модуле D, он запускается, когда я запускаю тесты по отдельности или в этом конкретном пакете.
Но проблема возникает при запуске ./gradlew clean build
Он говорит, что не может найти символ в классах, которых нет в модуле D, но они есть в других модулях, таких как C и B.
@RunWith(PowerMockRunner.class)
@PrepareForTest({DModule.class, BModule.class})
public class DModuleTest {
@Mock
private DModule dModule;
private DModuleService dModuleService;
@Before
public void setUp(){
MockitoAnnotations.initMocks(this);
dModuleService = PowerMockito.spy(new dModuleService());
}
@Test
public void someMethod() {
Mockito.when(dModuleService.someThing(Matchers.any()))
.thenReturn(anyObject());
}
}
Здесь при сборке проекта выдается ошибка в BModule.class
Я пытался добавить @ComponentScan, @SpringBootTest, @SpringBootApplication в этот файл, но не смог собрать.