0
我跟着How to set env variables for maven to run test correctly?和配置我的聚甲醛是這樣的:如何在junit測試用例中設置env變量?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<systemPropertyVariables>
<SENDGRID_USERNAME>username</SENDGRID_USERNAME>
<SENDGRID_PASSWORD>password</SENDGRID_PASSWORD>
</systemPropertyVariables>
</configuration>
</plugin>
當我運行mvn test
命令,這是給下面的錯誤,
Error in custom provider, java.lang.IllegalStateException: SENDGRID_PASSWORD env variable must be set.
我到底做錯了什麼?
我在做研究,以找到答案,我發現了以下工作:ProcessBuilder可以使用一套包膜與它產生的進程。我不知道ProcessBuilder是否對我有幫助,因爲我沒有產生任何進程。我的項目是maven項目,我使用mvn測試命令運行測試。
任何機構可以解釋我如何設置環境對於這樣的情況下(即行家+ junit的)
我能夠設置properties
但問題是如何設置environment variable
爲我的節目期待的ENV變量。
這看起來好像沒什麼問題。如何檢索env變量,System.getProperty(「SENDGRID_PASSWORD」)?你有檢查嗎? – vikingsteve
當我試圖在@BeforeClass方法來檢索,System.getProperty(「SENDGRID_PASSWORD」)返回'null' – vikas
嗯,這很奇怪,因爲已當你達到一個@BeforeClass方法的系統屬性應該可用。 – vikingsteve