gpt4 book ai didi

java - 如何在 java/groovy 中模拟方法?

转载 作者:行者123 更新时间:2023-12-02 01:14:15 25 4
gpt4 key购买 nike

我有两种方法:

protected List<CustomObject> getSortedOrderItems() {
List<CustomObject> internalList = new ArrayList<>();
//some operations
return internalList;
}

public CustomObject getIdentifire() {
CustomObject correctIdentifire = null;
List<CustomObject> items = getSortedOrderItems();
//some opearations on items
return correctIdentifire;
}

对于我的 Junit 测试,我需要模拟 List<CustomObject> items = getSortedItems();作为我的自定义对象的列表

我不知道如何开始。我知道如何在正常情况下使用 Mockito,但从未做过这样的事情。有什么帮助吗?

最佳答案

在 groovy 中,您可以简单地使用元编程直接模拟任何内容:

class SomeClass {
protected List<CustomObject> getSortedOrderItems() {
List<CustomObject> internalList = new ArrayList<>();
//some operations
return internalList;
}
}

@groovy.transform.TupleConstructor
class CustomObject { int a }

// test setup:
SomeClass.metaClass.getSortedOrderItems = {-> [ new CustomObject(1), new CustomObject(2) ] }

// test
assert [ 1, 2 ] == new SomeClass().sortedOrderItems*.a

关于java - 如何在 java/groovy 中模拟方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com