Написание тестового примера в нескольких модулях в одном проекте не выполняется, когда выполняется сборка Gradle. - PullRequest
0 голосов
/ 03 мая 2019

У меня есть проект, который состоит из нескольких модулей (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 в этот файл, но не смог собрать.

...