2017-03-15 124 views
0

我有以下目錄結構:的JUnit - Java項目結構

project/hamcrest-core-1.3.jar 
project/junit-4.12.jar 
project/build/ 
project/ija/ija2016/HomeWork2Test.java 
project/ija/ija2016/homework2/model/cards/Card.java 
project/ija/ija2016/homework2/model/cards/CardDeck.java 
project/ija/ija2016/homework2/model/cards/CardStack.java 
project/ija/ija2016/homework2/model/board/AbstractFactorySolitaire.java 
project/ija/ija2016/homework2/model/cards/FactoryKlondike.java 

的HomeWork2Test.java是給我們(我不能修改這個),幷包含其他類測試。在包頭擁有這些進口:

package ija.ija2016.homework2; 

import ija.ija2016.homework2.model.board.AbstractFactorySolitaire; 
import ija.ija2016.homework2.model.board.FactoryKlondike; 
import ija.ija2016.homework2.model.cards.Card; 
import ija.ija2016.homework2.model.cards.CardDeck; 
import ija.ija2016.homework2.model.cards.CardStack; 

所以我通過指定所做的卡,到一個包CardStack和CardDeck類:

package ija.ija2016.homework2.model.cards; 
在每個文件

而且AbstractFactorySolitaire和FactoryKlondike有:

package ija.ija2016.homework2.model.board; 

現在我們應該運行使用JUnit在HomeWork2Test.java類中的測試。然而,當我嘗試從項目文件夾下面的命令:

javac -cp junit-4.12.jar -d build ija/ija2016/homework2/HomeWork2Test.java 

我得到的錯誤告訴我,:

package.ija2016.homework2.model.cards does not exist 
package.ija2016.homework2.model.board does not exist 

我完全不知道如何解決的項目結構。我該如何運行JUnit測試?

謝謝你的回覆。

回答

1

嗯,我認爲你是混合的概念(編譯和運行JUnit測試)

  • 首先你需要編譯你的類(讓我們編譯他們建立 DIR):javac -d build ija/ija2016/homework2/model/cards/*.java ija/ija2016/homework2/model/board/*.java
  • 第二,你需要編譯你的測試類(你將需要添加到classpath中你剛纔編譯和junit.jar依賴項):javac -d build -cp build;junit-4.12.jar ija/ija2016/HomeWork2Test.java
  • 現在你可以運行你的測試類(爲了運行,你需要添加到類路徑的構建目錄和jar相關性):java -cp build;junit-4.12.jar;hamcrest-core-1.3.jar org.junit.runner.JUnitCore ija.ija2016.HomeWork2Test

如果您想了解更多的檢查JUnit 4 Doc

,如果你使用的是Linux或MacOS的用 「:」 而不是 「;」在班級路徑之間dirs