我正在为一个使用JOOQ库通过SQL进行查询的项目编写UT,我需要模拟SQL响应。
然而,我已经尝试遵循本手册,我们将JOOQ与纯SQL结合使用,这意味着我们没有任何预定义的字段或表类。
我的问题是-在不提供字段作为参数的情况下,如何定义结果对象?或者定义模拟字段参数?
Result<Record2<Integer, String>> result = create.newResult(AUTHOR.ID, AUTHOR.LAST_NAME); // replace the AUTHOR.ID and AUTHOR.LAST_NAME with some string for example
result.add(create.newRecord(AUTHOR.ID, AUTHOR.LAST_NAME));
result.get(0).setValue(AUTHOR.ID, 1);
result.get(0).setValue(AUTHOR.LAST_NAME, "Orwell");
mock[0] = new MockResult(1, result);
我注意到我可以定义一个新字段,但字段实现的接口非常广泛,所以我正在寻找更简单的接口。
谢谢
当您在没有代码生成器的情况下使用jOOQ时,您将希望使用普通SQL API动态构造表和字段引用。引用你的例子:
java prettyprint-override">// Dynamic field creation
Field<Integer> id = field(name("AUTHOR", "ID"), SQLDataType.INTEGER);
Field<String> lastName = field(name("AUTHOR", "LAST_NAME"), SQLDataType.VARCHAR);
// Same as before
Result<Record2<Integer, String>> result = create.newResult(id, lastName);
result.add(create.newRecord(id, lastName).values(1, "Orwell"));
mock[0] = new MockResult(1, result);
有关详细信息,请参阅手册的以下章节:
在这里,我想在测试方法时模拟,我需要模拟变量的初始化。有线索吗? 编辑:我不允许修改Person类。
问题内容: IDK(是否重复),但我确定找不到相关项目。我一直期望这真的很简单,因为通过反射它非常简单,但是我宁愿使用正确的工具来完成它。 澄清:旧版代码。没有吸气剂/二传手。 为此使用Whitebox是否正确?我以为是“超限”,即内部API的一部分?…或者那是严格的Mockito吗? 问题答案: 请参阅。 例如-给定的类需要测试: 具有以下私有实例: 然后可以用来设置的私有状态,以便可以对其进行
我有一个类。并且我已经编写了一个类的单元测试方法的类。我的代码如下:- 在我的单元测试课上,我编写了以下方法。 当我执行测试类,我得到错误。这是因为在类中,在方法的第8行中,学生机构映射字段为null。这只发生在模拟对象上。如何获得模拟对象的自动生成字段?
我有一堂这样的课: 我需要使用EasyMock模拟服务<代码>EasyMock。createMock()后跟replay()不起作用。P、 S:这是其他开发人员编写的遗留代码,我们不能在这里更改代码。
问题内容: 我在Python中使用时遇到了一些困难: 测试实际上返回正确的值,但它是Mock对象,不是。您如何在Python库中模拟属性? 问题答案: 您需要使用和: 这意味着:调用时,在该调用的返回值上,为属性设置a以返回value 。
问题内容: 我正在开发一个Web应用程序,该应用程序显然在iOS设备中存在问题。问题是我不拥有iOS设备,而是在Linux Ubuntu中进行开发。我正在寻找一种在Linux(尤其是浏览器)中仿真/模拟此OS的方法,但是还没有找到任何东西。 到目前为止,我发现的是iOS SDK的Simulator,但这是针对Mac的。还有一些Windows模拟器。有人做过吗? 问题答案: 我能想到的唯一解决方案是