第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

測(cè)試使用其他測(cè)試的內(nèi)部 ContextConfiguration

測(cè)試使用其他測(cè)試的內(nèi)部 ContextConfiguration

瀟瀟雨雨 2023-05-10 13:59:46
我在我的項(xiàng)目中創(chuàng)建了一個(gè)新測(cè)試。對(duì)于這個(gè),我@ContextConfiguration在與測(cè)試相同的類中使用了一個(gè)內(nèi)部配置類。但是現(xiàn)在我的其他測(cè)試都失敗了,因?yàn)樗鼈冋谑褂眯聹y(cè)試的配置。這怎么可能,我認(rèn)為不可能從外部使用測(cè)試類內(nèi)部的配置。當(dāng)我從新測(cè)試中刪除內(nèi)部配置時(shí),所有其他測(cè)試再次正常工作。@DataJpaTest@TestInstance(TestInstance.Lifecycle.PER_CLASS)@ContextConfiguration(classes = EventServiceTest.Config.class)class EventServiceTest {    @Configuration    @Import({WorkingTimeConfig.class,             PartnerConfig.class,             ProjectConfig.class,             UserConfig.class,             AccountGroupConfig.class,             LanguageConfig.class,             CountryConfig.class,             EventConfig.class,             LanguageConfig.class})    static class Config {        @SuppressWarnings("unused")        @MockBean(reset = MockReset.BEFORE)        private UserAttendanceBoard userAttendanceBoard;        @Bean        public PasswordEncoder passwordEncoder() {            return PasswordEncoderFactories.createDelegatingPasswordEncoder();        }        @Bean        public ImpersonateProperties impersonateProperties() {            return new ImpersonateProperties();        }    }...}現(xiàn)在這個(gè)測(cè)試不起作用:@Import(MailSenderAutoConfiguration.class)@DataJpaTest@Transactionalpublic class ServiceTimeEntryServiceTest {    private ServiceTimeService serviceTimeService;    private ServiceTimeEntryRepository repository;    @Autowired    public ServiceTimeEntryServiceTest(ServiceTimeService serviceTimeService, ServiceTimeEntryRepository repository) {        this.serviceTimeService = serviceTimeService;        this.repository = repository;    }    @Test    void getAllByAccountId() {...}如果我嘗試開始我的舊測(cè)試,則會(huì)拋出此錯(cuò)誤:org.springframework.beans.factory.support.BeanDefinitionOverrideException:在類路徑資源 [de/hlservices/timetracking/api/business/event/EventServiceTest$Config.class] 中定義了名稱為“passwordEncoder”的無效 bean 定義:無法注冊(cè) bean 定義感謝您的幫助 :)
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

正如 Maciej Kowalski 指出的那樣,這個(gè)問題可能與@ComponentScan注釋有關(guān)。

如果您正在使用它,請(qǐng)考慮添加一個(gè)excludeFilter以確保您只得到您真正想要的。您可能希望排除注釋找到的其他配置類@ComponentScan

@ComponentScan(excludeFilters = {
        @ComponentScan.Filter(type = FilterType.ANNOTATION,
                value = Configuration.class)
})

順便說一句:我真的推薦使用 IntelliJ IDEA 作為 IDE,因?yàn)樗泻馨舻?spring 支持。您可以通過單擊代碼左側(cè)的綠色圖標(biāo)(第 9 行)來查找通過掃描找到的 bean/組件:

http://img1.sycdn.imooc.com//645b330c00012c0002640052.jpg

這使得調(diào)試掃描問題更加容易。



查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

我在我的項(xiàng)目中遇到了同樣的問題,這是因?yàn)?code>@ComponentScan由于注釋,它也在拾取那個(gè)類@Configuration

當(dāng)我刪除該注釋并因此使組件掃描忽略它時(shí),一切正常。所以你可以這樣:

@Import({WorkingTimeConfig.class,
             PartnerConfig.class,
             ProjectConfig.class,
             UserConfig.class,
             AccountGroupConfig.class,
             LanguageConfig.class,
             CountryConfig.class,
             EventConfig.class,
             LanguageConfig.class})
    static class Config {

刪除@Configuration注解并沒有阻止@ContextConfiguration(classes = EventServiceTest.Config.class)配置無論如何選擇它。


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 2 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)