簡體   English   中英

@SpringBootTest 可切換網絡環境?

[英]@SpringBootTest Toggable webEnvironment?

我想在 SpringBootTest 中切換 webEnvironment 配置以支持在管道中運行測試(測試需要能夠自行啟動服務器)和本地(我想使用獨立服務器進行更快的測試)。

認為擁有一個我可以設置的配置文件將是一個很好的解決方案,但 SpringBootTest 似乎完全忽略了我在同一級別附加的任何配置文件,它在 Spring 的生命周期中是否太早了它無法獲取配置文件? 有一個更好的方法嗎?

@Profile("myProfile")
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) // Starts regardless of what @Profile is
public class MyClass{
   ...
}

E:相關問題: SpringBootTest enable/disable webEnvironment based on input

E2:在下面的一些討論之后,我放棄了遠程模式,不值得麻煩。

我想知道為什么你甚至需要在這里依賴 spring ? JUnit 已經有@EnabledIf注釋( 文檔),因此您可以使用它甚至不嘗試運行測試。

據我了解,它甚至更好,因為這適用於所有甚至可能不運行 spring 的測試(例如單元測試)。 此外,它應該從性能端點更好(您甚至不嘗試運行應用程序上下文、查找/注冊 bean 等)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM