簡體   English   中英

使用intellij運行時,單元測試中的系統屬性

[英]System properties in unit tests when run with intellij

我正在使用intellij跑步程序進行單元測試。

在應用程序的主要方法中,我們將密鑰庫設置為以下值:

/home/oozen/workspace/wakeup/src/main/resources/Certif.p12

public void run(String... args){
        System.setProperty("javax.net.ssl.keyStore", vodafoneKeystore);
        System.setProperty("javax.net.ssl.keyStorePassword", vodafoneKeystorePassword);
        logger.info(" **************** WakeUpApp **************** ");
        logger.info("vodafoneKeystore is set to {}", vodafoneKeystore);
    }

這樣可以正常生產。 但是當我使用intellij時,沒有進行單元測試。

在測試中,當我記錄getProperty的結果時,我看到了我們在代碼中設置的內容。

在測試方法的開始,我可以看到該值已正確設置:

    logger.info(" ################## KEYSTORE : {}", System.getProperty("javax.net.ssl.keyStore"));

 ################## KEYSTORE : /home/oozen/workspace/wakeup/src/main/resources/Certif.p12

但是在握手期間,我看到消息: no certificate found導致身份驗證失敗。

有什么想法嗎?

我知道我可以使用arg來運行測試:... -Djavax.net.ssl.keyStore=...但我不想.... :)

另外,@ Thiru顯示了一種在外部進行設置的方法,但我的目標是能夠從代碼中進行設置,並能夠在單元測試中依賴它。

提前致謝

您可以在首選項中使用路徑變量。

請按照以下步驟操作:

  • 打開首選項->路徑變量
  • 點擊+圖標
  • 添加屬性名稱和值
  • 點擊申請

請參考下圖

圖片

暫無
暫無

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

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