testngとjmockitを組み合わせてユニットテストを行う。私がテストしているメソッドでは、JBossデプロイスクリプトを使用して設定したシステムプロパティにアクセスしようとします。そのため、私の単体テストはJBoss環境全体にアクセスしてプロパティにアクセスすることはできません。 。私のテストでは、黙ってシステム変数を直接設定しようとしましたが、テスト中のクラスでシステムプロパティはnullを返しています。jmockitユニットテストでシステムプロパティを設定する
クラスは、試験される:
//returns the correct value in the application but returns null for the test
public static final String webdavrootDir = System.getProperty("property.name");
public String getFileUrl(){
StringBuilder sb = new StringBuilder();
return sb.append(webdavrootDir)
.append(intervalDir)
.append(fileName)
.toString();
}
テスト:テスト値null/otherstuff
が見つかったが、私はまた、TestNGのシステムプロパティを設定しようとしているhttps://justatest.com/dav/bulk/otherstuff
期待
@Test
public void getUrl(@Mocked System system){
system.setProperty("property.name", "https://justatest.com/dav/bulk");
String fileUrl = csvConfig.getFileUrl();
assertEquals(fileUrl, "https://justatest.com/dav/bulk/otherstuff");
}
@BeforeMethod
メソッドは成功しません。