相关疑难解决方法(0)

Spock 存根匹配部分参数

我在测试用例中使用 spock,并按如下方式存根一个类,inventryDAO 有一个 getUser 方法,它接受 PersistableKey 类型的参数。

在主代码中,参数创建如下

PersistableKey userKey = new PersistableKey(1)
userKey.setRepresentedObjectClass(User.class);
Run Code Online (Sandbox Code Playgroud)

在我的规范中,如果我按如下方式编写存根和参数,则效果很好

User collUser = new User(1);
InventoryDAO inventoryDAO = Stub()

PersistableKey userKey = new PersistableKey(1)
userKey.setRepresentedObjectClass(User.class);

inventoryDAO.getUser(userKey) >> collUser
Run Code Online (Sandbox Code Playgroud)

但我真正想做的是能够在不设置 setRepresentedObjectClass 的情况下传递参数,如下所示

User collUser = new User(1);
InventoryDAO inventoryDAO = Stub()
    
PersistableKey userKey = new PersistableKey(1)
    
inventoryDAO.getUser(userKey) >> collUser
Run Code Online (Sandbox Code Playgroud)

是否可以根据部分值匹配参数?

mocking spock

3
推荐指数
1
解决办法
3527
查看次数

标签 统计

mocking ×1

spock ×1