2 回答

TA貢獻1847條經驗 獲得超11個贊
我切換到 JUnit 5 并使它有點工作......所以如果你想測試數據庫的東西:
@DataMongoTest
@ExtendWith(SpringExtension.class)
@ActiveProfiles({"default", "test"})
class BasicMongoTest { ... }
允許您自動裝配所有存儲庫和 mongo 模板
使用 aplicaton.yml 配置進行初始化
不初始化或配置攔截器
如果您的類路徑中有一個類,則完整的應用程序上下文測試@SpringBootApplication(可以是測試上下文中的空測試 main)
@SpringBootTest
@ExtendWith(SpringExtension.class)
@ActiveProfiles({"default", "test"})
public class FullContextTest { ... }
使用所有配置和 bean 初始化完整上下文
如果沒有必要,就不應該這樣做,因為它會加載所有應用程序上下文,并且有點違背了單元測試僅激活所需內容的目的。
僅測試特定組件和配置:
@SpringBootTest(classes = {Config1.class, Component1.class})
@EnableConfigurationProperties
@ExtendWith(SpringExtension.class)
@ActiveProfiles({"default", "test"})
public class SpecificComponentsTest { ... }
僅使用 Config1 和 Component1 類初始化上下文。Component1 和 Config1 中的所有 bean 都可以自動裝配。

TA貢獻1811條經驗 獲得超4個贊
我已經解決了在根測試包路徑中添加一個SpringAppConfiguration類的問題
@SpringBootConfiguration
@ComponentScan
@EnableAutoConfiguration
public class SpringAppConfiguration {
public static void main(String[] args) {
SpringApplication.run(SpringAppConfiguration.class, args);
}
}
添加回答
舉報