2011-05-06 50 views
1

我在/test/functional中進行了一項測試,它的範圍是GrailsUnitTestCase。當我運行grails test-app時,它們不運行,當我嘗試從Intelli-J內運行它們時,我得到no tests found即使在Intelli-J中,grails功能測試也不會運行?

我的測試很簡單,但我只是不明白爲什麼它沒有運行。如果我把它放在/integration//unit /,它似乎運行。我正在使用grails 1.3.6。是否有任何原因-functional測試階段測試不會爲我運行?

class MyServiceFunctionalTests extends GrailsUnitTestCase { 
    MyService myService 

    public void setUp() { 
     myService = new MyService() 
    } 

    public void testSomething(){ 
     assertTrue(true); 
    } 
} 

回答

3

您是否安裝了功能測試插件? Grails內核對功能測試沒有直接的支持,因此您需要安裝http://grails.org/plugin/functional-testhttp://grails.org/plugin/geb或其他func測試插件之一。

我知道你的代碼只是一個例子,但是擴展GrailsUnitTestCase或者創建一個MyService的新實例(甚至試圖使用依賴注入)是沒有意義的。功能測試實際上只是一個正在運行的應用程序的客戶端,它們會發出GET和POST請求並驗證響應,因此您將無法訪問Spring bean和服務等。

+0

我的服務遇到了外部系統,在集成測試階段運行。功能測試插件具有衝突的依賴關係,即使使用'transitive = false',這些依賴關係也不可修復。有沒有簡單的方法來添加一個測試階段*沒有插件? 此外,1.3.6和1.3.7文檔明確指出* functional *和* other *是支持的本機測試階段。 – 2011-05-06 17:26:39

+0

他們是受支持的,但是核心沒有任何東西可以運行它們,啓動服務器等等。功能測試插件可以使用鉤子。 – 2011-05-06 17:54:10

+0

啊,我明白了。我真的不需要啓動服務器,因爲我想將功能測試用作針對外部系統的REST方法測試/硒RC測試。是否有一種簡單的方法將功能測試的運行添加爲單元或集成? – 2011-05-07 22:19:43

相關問題