2016-01-18 91 views
0

問題描述播放框架2.4(Java)的所有未運行單元測試

我遇到了麻煩「激活」測試,跑了所有的考試。我有幾個測試文件(目前是5個)。讓我們稱他們爲:

DIR1 \ subdir1 \ ClassOneTest.java
DIR1 \ subdir2 \ ClassTwoTest.java
DIR1 \ subdir2 \ ClassThreeTest.java
DIR1 \ subdir2 \ ClassFourTest.java
DIR1 \ subdir2 \ ClassFiveTest。 java

當我運行「激活器測試」(和其他...像〜testQuick)時,其中只有四個運行(說「一」到「四」)。 「五」沒有運行。我重構>將「Five」重命名爲「Six」,但它仍然無法運行。

我第一次懷疑我的測試代碼,所以我刪除了所有有意義的測試,並用簡單的assertTrue(false)assertTrue(true)代替。我甚至刪除了像@RunWith或@FixMethodOrder這樣的註釋。但問題仍然存在。

然後我試着交換文件名。如果我將名字換成「Five」和「Four」,那麼新的「Four」會運行,而新的「Five」不會運行。所以,這個問題似乎與文件發現有關,而不是其中的代碼。注意:「Five」和「Four」位於同一個目錄中。

我也試過將Play 2.1中給出的建議應用到build.sbt (鏈接:Play Framework (2.1.3) doesn't run any tests)。所做的只是將[info] Test ... started信息靜音,但未發現其他測試。

問題

我已經江郎才盡。有沒有人有我可以嘗試的建議? 如果您需要特定的代碼示例/配置設置,請指定,我會盡量適應。

多一點信息
- 一些測試文件成爲發現和跑,如果我改變了來源。其他測試文件,並不那麼幸運。
- 使用的IntelliJ終極15.0.2
- 測試目錄結構如下,該項目的
- 當前build.sbt有:

javaOptions in Test += "-Dlogger.file=conf/logback.xml"
testOptions += Tests.Argument(TestFrameworks.JUnit, "-q", "-v")

+0

奇怪。如果你添加一個新的,比如'Six',會發生什麼,所以你有6個? '六'是跑,跳過'五'還是僅僅是前四。當然,我不指望它與編號有關。 –

+0

之前試過; '六'不運行。剛纔我把所有文件移出'test',創建了一些新文件,而且沒有一個運行。我認爲那些運行的是我一段時間以來的課程。沒有新的運行。即使我將所有以前的測試文件移回到'test'中,它們現在都不會運行。即使'ApplicationTest'和'IntegrationTest'也不運行。我會再看看我的配置文件... – Aaron

+0

我沒有移出'test'的一個測試類繼續通過一個簡單的'assertTrue(true)'測試。我複製了那個測試文件,給它一個新的名字。新的測試文件不會運行。到目前爲止,它指向沒有被發現的新測試類。 – Aaron

回答

5

你可以試試,在激活控制檯,clean然後compile,然後再次嘗試運行您的測試。這聽起來很明顯,但它可能工作。