2014-10-17 124 views
0

我有一個基本的JUnit測試,我只想在Linux上運行。如果我在Windows上構建代碼,如何跳過測試?只在Linux上運行JUnit測試

例如,我可以從Java獲得OS平臺嗎?

+1

「可我得到的OS來自Java的平臺?「在提問之前做一些研究怎麼樣? – Plux 2014-10-17 14:41:51

+1

請參閱[如何提問](http://stackoverflow.com/help/how-to-ask)「搜索和研究 ...並跟蹤您發現的內容即使您沒有找到網站上其他地方的有用答案,包括未提供幫助的相關問題的鏈接可以幫助他人理解您的問題與其他問題的區別。「」解釋您是如何遇到您要解決的問題的,**和**任何**困難都阻止你自己解決**。「 – 2014-10-17 15:06:54

回答

4

System.getProperty("os.name")會給你操作系統的名稱。然後,您可以使用Assume類跳過一個測試,如果操作系統是Windows:

@Test 
public void testSomething() { 
    Assume.assumeFalse 
     (System.getProperty("os.name").toLowerCase().startsWith("win")); 
    // test logic 
} 
2

您還可以使用@Before繞過包含在類的所有測試:

@Before 
public void beforeMethod() 
{ 
    Assume.assumeFalse(System.getProperty("os.name").toLowerCase().startsWith("win")); 
    // rest of the setup 
}