2013-04-25 129 views
5

我剛剛將我的項目表格Netbeans轉移到了IntelliJ IDEA,它是一個基於junit的測試項目。在netbeans中,我使用的是statsassertTrue語句需要intelliJ IDEA中的靜態導入?

assertTrue("Message", conditionCustom()); 

它在工作時沒有任何額外的輸入。現在的IntelliJ使用相同的上述命令時,我不得不進口文件

import static org.junit.Assert.assertTrue; 

有沒有什麼辦法,所以我不需要寫在我的代碼文件上面的行?否則我必須編輯我的所有文件才能運行assertTrue語句。

+0

你確定你之前沒有使用JUnit 3,現在JUnit 4嗎? – NilsH 2013-04-25 11:48:44

+0

我不確定。但在智能爲什麼我需要添加junit到我的類路徑才能使它工作?我現在正在使用基於Maven的項目。 – coure2011 2013-04-25 11:53:25

回答

14

你要麼必須添加靜態導入或明確什麼類靜態調用相關聯:

Assert.assertTrue("Message", conditionCustom()); 

我通常使用後者,因爲我覺得它更清晰。

除非能找出哪個類關聯該靜態方法,否則Java將不會編譯。

我想,也許你使用繼承關聯該靜態方法與您的測試。

+0

這個例子最好使用'Assert.fail(「Message」)'。不管你信不信,我已經繼承了代碼,以前的開發者反覆使用'Assert.true(false);'來表示失敗(希望他們沒有從這裏學到)。 – Thunderforge 2014-10-17 20:38:52

+0

我的例子不應該做你暗示的。我編輯過,使它看起來像原來的問題。 – duffymo 2014-10-17 20:45:50