【问题标题】:Grails Geb tests execution orderGrails Geb 测试执行顺序
【发布时间】:2012-10-14 05:16:21
【问题描述】:

在我的 grails 应用程序中,我使用 Spock 和 Geb 执行功能测试。

由于所有测试都在同一个数据库上运行,我想提供执行 CRUDSpec 类的顺序。如何指定?

例子

  1. 一级测试博客作者创作
  2. 第二类,假设第一次测试运行成功,测试创建后
  3. 三等功将cmets添加到帖子中

【问题讨论】:

    标签: grails functional-testing spock geb


    【解决方案1】:

    原来顺序可以指定如下:

    grails -Dserver.port=8090 test-app functional: LoginCRUDSpec,PayeeCRUDSpec
    

    另一个使用来自here的包的例子:

    // Run all tests in the “admin” package 
    grails test-app functional: admin.**.* 
    
    // Run all tests in the “cart” package 
    grails test-app functional: cart.**.* 
    

    使用 no-arg 'grails test-app' 对测试进行排序的最终方法是按字母顺序命名测试类。

    T001_LoginCRUDSpec
    T002_PayeeCRUDSpec
    T003_ServiceCRUDSpec
    T004_DescrParamCRUDSpec
    

    【讨论】:

    • 是否可以在规范类中指定顺序(运行规范测试的顺序)?
    • 我还没有看到这个。也许你应该在Spock框架中寻找这种注释。如果你发现了什么,请告诉我。
    • 我认为设置和拆解你的规范可能更好,这样测试可以按任何顺序运行。我知道在处理功能测试时这不是微不足道的,但您很快就会从中受益。
    • 这是在规范中确定顺序的方法:'stackoverflow.com/questions/13575972/…' 基本上,使用 Spock 的 @Stepwise
    • Hans,这是一个有效的替代方案,因为您不必担心数据在其他测试中被修改。虽然,在这个功能测试中,我观察它们在浏览器中运行,所以在某些情况下,顺序是很舒服的。最重要的是,对于我的前 5 次测试,我只能以具有某些权限的“role1”用户身份登录一次,然后以具有其他权限的“role2”用户身份登录一次以进行以下测试。但对于某些规格,我想我会遵循你的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多