问题标签 [spock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10932 浏览

grails - 在 Geb 中,displayed 和 present 有什么区别?

我正在编写功能测试并处理淡入淡出的模态窗口。

显示和呈现有什么区别?

例如我有:

其中 settingsModule 代表我的模态窗口。

在测试我的模态窗口(来自 Twitter 引导程序的模态窗口)时,我通常这样做:

不断地。在我的模块中,我有:

我总是抱怨:“必须显示元素才能点击”。

在我的 openSettingsModal 和 closeSettingsModal 中,我尝试了许多 waitFor 与时间间隔的组合以及是否使用存在......无法弄清楚。

任何指针将不胜感激。谢谢!

0 投票
1 回答
2013 浏览

grails - 如何在 grails 中运行 spock 功能测试的子集?

在其他一些测试框架中,我习惯于标记测试,例如@really_slow、@front_end

然后运行不同批次的测试,比如我可能想要设置一个构建从属来运行所有的 real_slow 测试,并且可能想要运行所有标记为前端但没有标记为非常慢的测试。

目前,要在 grails 中运行我的 spock+geb 测试,我只需运行 grails test-app functional:

我如何告诉它运行一个子集?

0 投票
1 回答
2224 浏览

java - IntelliJ:为同一模块中的源代码和测试指定不同的 groovyc 版本

我正在使用IntelliJ 11.1.3, IvyIDEA Plugin for IntelliJ, Spock 0.5(取决于Groovy 1.8.4)和Groovy 1.5.6.

我有一个遵循Maven 标准目录布局的 IntelliJ 模块。输出是一个 WAR 文件。

在 IntelliJ 中构建此模块时,有什么方法可以告诉 IntelliJ 使用以下内容:

  • Groovy 1.5.6编译src/main/groovy
  • Groovy 1.8.4编译src/test/groovy

我需要这样做,因为需要针对实际应用程序代码进行编译Groovy 1.5.6(长话短说:生成的 WAR 部署了一个必须暂时保留的 EAR Groovy 1.5.6)。

当然,Test 目录不会随 WAR 一起部署。Test 目录包含 Spock 测试。我正在使用 Spock 0.5,它需要Groovy 1.8.x

常春藤.xml

我需要能够从 IntelliJ 运行测试。如果我从 IntelliJ 构建并尝试运行 Spock 测试,我会得到以下信息:

如果我删除这一行:

然后我可以构建和运行 Spock 测试,但是我从我的模块中丢失了 Groovy。

我认为我需要做的是告诉 IntelliJ 使用一个版本的 Groovy 来编译应用程序代码,并使用另一个版本的 Groovy 来编译测试,但是我还没有找到一种方法来做到这一点。

我将非常感谢任何人可以提供的任何帮助或见解。非常感谢你。

0 投票
2 回答
511 浏览

unit-testing - 作为 Groovy Spock 方法的经典单元测试

我有一个 Groovy Spock 方法,它具有以下模式:

正如您所看到的,由于断言和变量定义混合在一起,因此很难在块上打破它。编写这种测试的“spock”​​方法是什么?

更新:

测试具有以下结构,因为c.fieldLevel3.isValid()is 实际上c.fieldLevel3 instanceof A,所以如果该字段无效,我将无法继续。

0 投票
3 回答
2810 浏览

grails - 如何使 Spock Helper 方法在所有规格或全局范围内可用

我在特定规范中有 Spock Helper 方法。此方法生成字符串以测试大小约束:

我也想在其他规范中重用这个辅助方法。怎么做?

感谢您的帮助

ps 是否有 groovy kung-fu 可以在一条短线中完成同样的事情,所以我可以在初始化实例时作为参数传递?

0 投票
1 回答
583 浏览

grails - 使用 spock-geb 记录右键单击?

我需要测试右键单击地图以使用 Geb 放置标记。我还没有找到任何说明如何执行此操作的文档。有人知道吗?

0 投票
1 回答
997 浏览

unit-testing - 使用 Spock,您如何通过 grails 命令行运行特定功能?

我正在为单元和功能测试运行 Spock 测试。很棒的图书馆。

我想知道如何从 grails 命令行运行 Spock Spec 的特定功能。

我知道如何运行所有 spock 测试或运行特定规范,但我不知道如何运行特定功能。

谢谢!

0 投票
1 回答
1955 浏览

grails - Grails Geb 测试执行顺序

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

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

例子

  1. 一级测试博客作者创作
  2. 第二课,假设第一次测试运行成功,测试帖子创建
  3. 第三类在帖子中添加评论
0 投票
1 回答
9618 浏览

grails-2.0 - 在 Spock 中的项目列表上断言

将 Spock 0.7 与 Grails 2.04 一起使用。尝试搭建测试环境。我需要一些关于测试对象列表的帮助。

我有一个位置对象列表。我想测试每个对象的日期。我正在迭代但不确定如果日期不相等如何使测试失败。有没有一种测试列表中对象的好方法?我在我当时的代码块下面列出了。

0 投票
1 回答
999 浏览

groovy - 使用带有 void 方法的参数化测试

我不明白如何使用 spock 为 void 方法设置参数化测试。这是我对链表的简单测试用例:

该方法delete()是一个 void 方法,但如果我没有明确获得返回值,则测试失败。

这实际上是有效的:

虽然这不是:

测试报告抱怨null

我该如何处理这种情况?我想在调用删除方法后测试删除检查列表状态的结果。

谢谢,卡罗