2014-09-12 74 views
7

我正在遷移現有的項目以啓動。我使用start.spring.io創建了一個全新的項目,並通過源代碼進行了複製等等。所有東西都編譯完成,但是當我做'mvn test'時,它編譯類,但是隻執行默認的'ApplicationTests'(由start .spring.io)。Spring Boot - 我的單元測試正在跳過

下面是行家輸出的摘錄:

[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ pendview --- 
    [INFO] Using 'UTF-8' encoding to copy filtered resources. 
    [INFO] skip non existing resourceDirectory C:\dev\pendview2\src\test\resources 
    [INFO] 
    [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ pendview --- 
    [INFO] Changes detected - recompiling the module! 
    [INFO] Compiling 26 source files to C:\dev\pendview2\target\test-classes 
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.15:test (default-test) @ pendview --- 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] BUILD SUCCESS 
    [INFO] ------------------------------------------------------------------------ 

什麼是更奇怪的是,如果我通過「-Dtest = TestAuthController」,那麼它運行特定的單元測試:

[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ pendview --- 
    [INFO] Changes detected - recompiling the module! 
    [INFO] Compiling 26 source files to C:\dev\pendview2\target\test-classes 
    [INFO] 
    [INFO] --- maven-surefire-plugin:2.15:test (default-test) @ pendview --- 
    [INFO] Surefire report directory: C:\dev\pendview2\target\surefire-reports 

    (skipped output of AuthControllerTest for brevity) 

    ------------------------------------------------------- 
    T E S T S 
    -------------------------------------------------------Results : 

    Tests run: 6, Failures: 0, Errors: 0, Skipped: 0 

什麼我做錯了嗎?春季啓動會建立一個我不符合的絕對配置嗎?

任何幫助將不勝感激! -Trey

回答

12

Spring Boot配置Surefire插件運行名稱以TestTests結尾但不以Abstract開頭的所有測試類。你可以看到這個configuration in the spring-boot-starter-parent pom。如果您的測試課程名稱爲TestAuthController,那麼它與此配置不匹配。將其重命名爲AuthControllerTestAuthControllerTests應該可以解決您的問題。

1

似乎對我來說,Maven surefire插件存在一些問題,當它沒有檢測到測試時,如果您的測試類名稱不以Tests後綴結尾。 :-)

1

在控制檯/終端試試這個命令:

MVN全新安裝

但首先導航到你的測試目錄。 如果你不會不運行測試,使用這個命令:

MVN全新安裝-Dmaven.test.skip

0

似乎安迪的回答應春引導2.X.更新現在我無法在任何地方看到surefire配置。對這個公約的抱怨可能太多了。