2011-05-06 52 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

相关问题