亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不同OS環境下對JUnit測試的不同期望

不同OS環境下對JUnit測試的不同期望

眼眸繁星 2022-10-26 16:45:11
我有一個在多個操作系統上運行的客戶端 java 應用程序。我想測試一個在不同操作系統中運行時給出不同期望的邏輯。例如,當我在 Windows 上運行時,邏輯將通過,而當我在 OSX 上運行時,邏輯將引發異常。我可以為不同的操作系統編寫兩個單獨的測試并僅使用單獨的構建配置文件執行一個測試,但是是否可以編寫一個在不同操作系統下表現不同的 junit 測試。?對于 OSX,我想用異常注釋測試作為預期,對于 Windows,正常邏輯應該可以工作。在 Junit 中是否有可能在某些情況下在運行時期望有所不同?此致,索拉夫
查看完整描述

1 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

您可以檢查您在System.getProperty("os.name")哪個操作系統上,然后您可以使用條件運行來排除您在特定操作系統上不需要的測試用例,例如


public class SomeTest {

  @Rule

  public ConditionalIgnoreRule rule = new ConditionalIgnoreRule();


  @Test

  @ConditionalIgnore( condition = NotRunningOnWindows.class )

  public void testFocus() {

    // ...

  }

}


public class NotRunningOnWindows implements IgnoreCondition {

  public boolean isSatisfied() {

    return !System.getProperty( "os.name" ).startsWith( "Windows" );

  }

}

來源:代碼仿射


查看完整回答
反對 回復 2022-10-26
  • 1 回答
  • 0 關注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號