2017-09-18 132 views
0

如何在junit4中調用其他類的靜態方法@Before@Testjunit4:如何在junit4 @before或@Test中調用其他類的靜態方法?

我有一個關於如何在junit4 @Test@Before中調用其他類方法的問題?

例如,我在UtilTool寫了static方法

public static String readAllBytes(String filePath) { 
    String content = ""; 

    try { 
     content = new String(Files.readAllBytes(Paths.get(filePath))); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    return content; 
} 

使用在junit4 @Before的定義方法:

@Before 
public void setUp() { 
    System.out.println("setUp......"); 
    UtilTool.readAllBytes("/tmp/test.txt") 

不過,我會收到以下錯誤消息時我稱之爲readAllBytes方法從Junit4的UtilTool@Before@Test

java.lang.NoSuchMethodError: ..... 

我該如何解決這個問題?

+1

這看起來像一個編譯問題給我。你如何建立/運行你的測試? Maven的? –

+0

我只是想法編譯我的項目,我不使用maven。 – sagr

+0

如果我在Junit Test類中聲明readAllBytes方法,它將會正常工作。 – sagr

回答

0

我已經解決了這個問題,我犯了一個愚蠢的錯誤。我忘了在classpath中替換舊的jar。謝謝!

+2

理想情況下,應該關閉一個可能不可重現的問題,而不是回答。這不符合答案。 – nullpointer

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 - [來自評論](/ review/low-quality-posts/17363933) –

+0

請使用您問題上的修改鏈接添加更多信息。後回答按鈕應該只用於問題的完整答案。 - [來自評論](/ review/low-quality-posts/17363933) –