问题标签 [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 回答
1124 浏览

grails - Grails 2.0.0.RC1 错误 Spock 测试

我已经将 Grails 项目从 Grails 1.3.5 升级到 Grails 2.0.0.RC1,并将 Spock 插件从 0.5 升级到 0.6。现在在测试中有这个错误:

0 投票
1 回答
2344 浏览

multithreading - 使用 Spock 测试线程并发性

是否有与 TestNG 的 @Test(threadPoolSize=n) 等效的 spock 可以让我测试测试的执行,同时使用多个线程?

基本上,给定这样的规范......

我想要的是一种在 spock 中执行此操作的方法,但同时产生多个线程来执行测试方法。在 TestNG 中,我可以很容易地做到这一点

提前致谢。

0 投票
3 回答
1224 浏览

java - 针对更多类型的数据库运行 JUnit 测试

我有一个通过 jdbc API 使用数据库的应用程序(实际上是 spring jdbc 模板)。我们希望针对更多类型的数据库(MS SQL、Oracle、Postgre)运行我们的单元测试;因此,要运行一个测试(例如使用 maven),该测试将为每个指定的数据库运行 3 次单元测试。

如何优雅地解决这个问题?

(我在考虑自己实现 JUnit runner,但我们也有 Spock 测试)

0 投票
2 回答
4312 浏览

spock - 如何在 spock 中获取当前正在运行的测试的名称?

在 JUnit 3 中,我可以像这样获取当前正在运行的测试的名称:

我如何在 spock 中做到这一点?我想将测试名称用作共享资源中的键,以便测试不会相互干扰。

0 投票
1 回答
571 浏览

testing - Grails / Spock如何测试特定约束是否失败?

是否有一种简单的方法可以确定 spock 测试中的特定约束是否失败?

我现在或多或少地根据 wiki 上的示例检查域 hasErrors 是否存在。 http://code.google.com/p/grails-spock-examples/wiki/Overview#Testing_constraints

但我想知道一个特定的验证约束是否未能确保以后没有其他约束失败。

0 投票
1 回答
913 浏览

java - 使用 Spock 模拟时如何消除对参数数量的限制?

模拟方法时有没有办法接受任意数量的参数?

例如,如果我想模拟这两种方法:

现在,在我的测试中,我做了:

有没有办法同时模拟两者?就像是:

(这不起作用)

0 投票
1 回答
1212 浏览

java - Spock:在运行时创建模拟对象

我有一个Foo有方法的类Bar makeBar(String id)。你可以猜到,makeBar创建一个Bar带有 id 的新对象idBar有一个吸气剂id

为了我的测试目的,我需要模拟Foo. 我希望模拟makeBar方法创建Bargetter 为其返回正确的模拟对象id(给定的那个makeBar)。


所以要清楚,我想创建一个这样foo的模拟实例Foo

返回一个模拟Bar对象bar

有没有办法用 Spock 做到这一点,或者我应该把所有东西都存根?

0 投票
1 回答
1842 浏览

grails - 我无法使用 Geb 和 spock 运行简单的 Grails 功能测试

我正在寻求帮助,因为我不知道如何处理这个错误......所以首先让我展示运行我非常简单的测试时得到的堆栈跟踪,奇怪的是我的测试似乎没有被执行……?我正在使用 Grails 2.0

这里是 groovy 文件:

SecondaryTest.groovy:

SignInPage.groovy :

谢谢

0 投票
1 回答
2067 浏览

java - Spock:在“where”子句表中使用 Mock?

我正在尝试在“where”子句的表中使用 ia 模拟对象。基本上是这样的:

这不起作用,因为“where”子句在“given”子句之前执行,所以mocked当它第一次被引用时还不存在。我该如何克服呢?mocked仅使用此测试,因此我想避免在此方法之外创建它。

请注意,这是一个简化的示例,实际上还有更多的交互,以及对表格中的其他列有影响n——这使得表格语法非常方便。

0 投票
1 回答
28067 浏览

groovy - 使用 Spock 对 Groovy2.0 进行单元测试:setup()

我正在使用 Spock 为 groovy-2.0 编写单元测试,并使用 gradle 运行。如果我在测试通过之后写。

myMethod() 是 DSLValidator 类中的一个简单方法,它只返回 true。

但是,如果我编写 setup() 函数并在 setup() 中创建对象,我的测试将失败:Gradel 说:FAILED: java.lang.NullPointerException: Cannot invoke method myMethod() on null object

以下是 setup() 的样子,

有人可以帮忙吗?

这是我遇到的问题的解决方案: