当前位置: 首页 > 知识库问答 >
问题:

使用GEB+Spock+Gradle+Groovy实现UI自动化中的方法同步

薛弘厚
2023-03-14
tasks.withType(Test) {
    maxParallelForks = 2
    forkEvery = 1
    include '**/*TestSuite*.class'
}

>

  • TestSuite1.class

    TestSuite2.class

  • 共有1个答案

    谢鸿
    2023-03-14

    首先,对于您展示的示例,Gradle的工作方式是为每个TestSuite启动一个新的JVM,一个单独的进程。这意味着这不是多线程问题,而是进程同步问题。

    您需要为进程创建某种类型的锁。我能想到的最基本的方法是在文件系统上创建一个锁目录。

    编写一个实用工具方法,检查锁目录是否存在,如果存在,则等待它消失以继续。如果目录不存在,则创建该目录。然后访问支付沙箱,前提是您已经创建了目录。

     类似资料:
    • 当我尝试使用以下方法创建功能测试时: 我得到了这个错误,因为Spock试图使用错误的Groovy版本: 编译GenerateAsyncController.Groovy时出错:启动失败:无法实例化在jar中指定的全局转换类org.spockframework.compiler.spockTransform:file://users/reinaldoluckman/.gradle/caches/mo

    • 我在理解GEB/Spock测试中的一个问题时遇到了一些困难。我们正在使用gradle,并试图并行运行我们的测试。据我所知,gradle中的maxParallelForks属性将在单独的JVM中运行测试类。 我遇到的问题是,当我有6个测试类并将maxParallelForks设置为4个时,当测试开始时,我将得到4个测试类并行运行。太棒了!但最后两个班才是问题所在。假设在前4节课中,2节课在1分钟内完

    • 我正在用Spock、Groovy和Geb编写UI功能测试,实现页面对象模式。在我的事件流中,我从当前页面导航以获得结果,因此,我需要在测试中切换页面对象,但我成功地做到了 下面的测试用例:

    • 我正在尝试使用Spock运行geb测试。我已经在groovy脚本中编写了所有内容,该脚本位于中,如下所示

    • mocked类定义如下: 在Kotlin/Groovy/Spock中有没有一种方法可以避免对这两种方法进行存根处理?我想出的最好办法是用另一个来存根,这很有效,但很不幸:

    • 本文向大家介绍GO 使用Webhook 实现github 自动化部署的方法,包括了GO 使用Webhook 实现github 自动化部署的方法的使用技巧和注意事项,需要的朋友参考一下 通常大家开发大部分是本地git push 提交,服务器上git pull 手动更新。git 可以使用webhook实现自动部署。 webhook是仓库平台的一个钩子事件,通过hook 钩子监听代码,回调通知(通知地址