gpt4 book ai didi

java - 单元测试中的 SelectResults 查询

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

我需要为 SelectResults 分配值并将其用于 JUnit 目的。

我可以分配 StructImpl 值,但无法为 SelectResults 执行此操作。

String[] FieldNames;
Object[] FieldValues;
StructImpl s1;
List<StructImpl> structImplList = new ArrayList<StructImpl>();

FieldNames = new String[] {"cpcaAttributeId", "cpcaAttributeName", "cpcmCatalogId", "cpcmCatalogDesc" };

FieldValues = new Object[] {"ATTRIBUTE_02", "LONGDESCRIPTION", "COMACTIVITY", "Company activities" };
s1 = new StructImpl(new StructTypeImpl(FieldNames),new Object[] {"ATTRIBUTE_02","LO","NGDESCRIPTION","COMACTIVITY", "Company activities"});
structImplList.add(s1);

最佳答案

你想测试什么?

GemFire/Geode SelectResults type是一个接口(interface),因此非常适合使用 Mockito 等框架进行模拟。

您可以在 SDG 测试套件本身中看到这样的示例,here .

如果您直接使用 GemFire/Geode API 来构建和执行查询(即您没有使用 SDG 的 GemfireTemplate 或 SD[G] 存储库抽象),那么您最想模拟查询的接口(interface)对象而不是行为。

一般来说,当使用 Mocks 进行单元测试时,您的应用程序应该假定 GemFire/Geode 做了正确的事情,如其契约(Contract) (Javadoc) 中所述。通过集成测试,可以使用 Activity 对象和实际行为进行测试。当断言您的 OQL 查询格式良好等时,或者像 SDG 这样的框架正确地将对象转换为预期类型时,这一点很重要,在使用 SD[G] 存储库抽象时尤其如此。

无论如何,大多数时候你会 mock SelectResults.<T>asList()方法按应用程序的预期返回应用程序对象。

无论如何,我不太确定你的要求是什么。因此,如果您可以与您的测试共享存储库/示例,也许这会对该主题有所启发。

如果没有,希望这能给您一些想法。

谢谢!

关于java - 单元测试中的 SelectResults 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57308061/

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