0

我有一個代碼來測試哪個取決於環境變量集的值。 如何模擬系統環境變量的設置? 我不想在可以將變量添加到環境的測試類中執行System.setProperty()。如何模擬系統類進行測試?

我只是想嘲笑設置和測試。我如何嘲笑它?

謝謝。

回答

3

如果你的代碼真的取決於系統屬性,我會建議重構它,而不是取決於彈簧Environment。然後,您可以在Spring測試中使用(無論如何使用Spring Boot)@IntegrationTest,例如(從the docs):

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringApplicationConfiguration(classes = MyApplication.class) 
@IntegrationTest({"foo=bar"}) 
public class SomeIntegrationTests { 

// ... 

} 
+0

很好。謝謝 !! – VinniK 2014-08-29 09:02:32

+0

因此,現在我在我的其中一個測試類中添加了@IntegrationTest({「SPRING_PROFILES_ACTIVE = default」}),如果我嘗試在其他類中添加@IntegrationTest({「SPRING_PROFILES_ACTIVE = integration」}),那不起作用! !它仍然取得默認值。 我該如何處理它? – VinniK 2014-08-29 11:05:36

+0

我不關注。你的「其他班級」是什麼? – 2014-08-29 11:25:06

相關問題