class TestSuite extends Specification {
@Shared
def elements
def setupSpec{
elements = ['a.txt':1,'b.txt':2]
}
@Unroll
def 'test for #first and #second'() {
expect:
true
where:
[first, second] << [elements.keySet(), elements[first].findResults { key, value->
key.substring(key.indexOf('.') + 1)
}].combinations()
}
}
编辑的
我不得不说你的代码没有多大意义。我犹豫不决,不想直接否决你的问题,而不是回答。这个问题有太多的错误。只是表明你在提出问题时缺乏努力。
第一个危险信号是您甚至没有尝试编译这段代码。您有一个带有字符串键和整数值的映射:
然后,有两种可能,要么是您想象中的key()方法返回键,这没有任何意义,因为第一个已经是键,要么是key()返回值,这是非常糟糕的命名。但是错误的命名并不是全部,因为这样您就可以在一个整数上调用toUpperCase()....这真是一团糟!
不过,我将向你们展示如何将where变量的值建立在另一个where变量的值基础上,因为这是问题的核心部分,有
import spock.lang.*
class MyFirstSpec extends Specification {
//elements needs to be Shared to be used in a where block
@Shared
def elements = ['a':1,'b':2]
@Unroll
def 'test for #first and #second and #third'() {
expect:
true
where:
first << elements.keySet()
and:
second = elements[first]
third = first.toUpperCase()
}
}
导致
- test for a and 1 and A
- test for b and 2 and B
问题内容: 我试图建立一个查询,其中基于用户选择从客户端发送一些字段。我计划根据用户的选择创建一个动态查询。尽管我可以简单地用一些Java代码来完成它,并且让hibernate为我激发该查询并返回结果。 我的问题是,我可以使用内置hibernate机制来做同样的事情。例如我会得到一张地图说 唯一的区别是地图可以包含的值的数量,并基于此我想创建一个查询 提前致谢 问题答案: 通过使用条件,这应该不成
我将Gatling与JDBC feeder一起使用,并希望根据之前请求的响应动态地向JDBC feeder的where子句添加一个参数。这里是我的例子,我试图做一个帖子,创建一个用户,然后让提要使用create user请求返回的userId获取用户生成的UUID,然后用UUID发布一些数据。 我已经核实了以下内容: 1)用户数据确实在表单帖子上正确插入数据库2)用户ID从表单帖子返回3)用户ID
根据给定的表数据,第三行中的非空字段是“field1”和“field3”。因此WHERE子句将是: 我如何编写一个具有动态WHERE子句的通用SQL来满足这个需求?
由于在抽象中解释我要做什么有点困难,所以我克隆了spring-boot-sample-data-jpa项目,并对其进行了修改,以展示我正在尝试做什么的示例。 我有这些模型类,您将注意到和扩展了实体。 我正在尝试编写一个查询,返回包含或的所有城市,其主要运动是给定类型的。 我编写了一个JPQL版本的查询,它有点难看(我不喜欢部分来表示它是一家水疗酒店),但似乎返回了我想要的。 但该查询的QueryD
问题 你希望创建一个字典来构造动态的where子句并且希望能够在查询语句中使用。 解决 >>> import web >>> db = web.database(dbn='postgres', db='mydb', user='postgres') >>> where_dict = {'col1': 1, col2: 'sometext'} >>> db.delete('mytable', whe
Spring数据中是否有一种方法可以动态地形成where子句? 我想要做的是有一个方法(类似于findBy/get方法),它运行WHERE和and并使用所提到的属性,这些属性不是空的。 例如, 我们的方法如下所示 谢了。