我有一个从结果集创建字符串的函数。和发送信息的那个。你可以在下面看到他们
public String createStringReport(ResultSet resultSet) throws SQLException{
StringBuilder reportData = new StringBuilder("");
int columns = 0;
if(resultSet.getMetaData() != null) {
columns = resultSet.getMetaData().getColumnCount();
while (resultSet.next()) {
for (int i = 1; i <= columns; i++) {
reportData.append(resultSet.getString(i)).append("\t");
}
reportData.append("\n");
}
}
return !reportData.toString().isEmpty() ? reportData.toString() : "No data";
}
private void sendStringReport(String reportData) {
for (User u: users) {
sender.send(u, reportData);
log.info("send report - " + report.getName() + " to" + u.getName());
}
}
我需要编写一个测试,它调用sender与参数字符串,这是以前生成的。这就是我现在所拥有的:
@Test
public void shouldGenerateStringReportWhenThreadRunHasData() throws SQLException {
String result = "somestring";
Report report = getReport(ReportType.STRING);
ReportCreator reportCreator = new
StringReportCreator(report, users, sender, dataSource, unexpectedErrorCounter);
when(resultSet.getString(anyInt())).thenReturn(result);
when(resultSet.next()).thenReturn(true).thenReturn(false);
int columns = 2;
final ResultSetMetaData rsmd = mock(ResultSetMetaData.class);
when(resultSet.getMetaData()).thenReturn(rsmd);
doReturn(rsmd).when(resultSet).getMetaData();
StringBuilder reportData = new StringBuilder("");
if(resultSet.getMetaData() != null) {
while (resultSet.next()) {
for (int i = 1; i <= columns; i++) {
reportData.append(result).append("\t");
}
reportData.append("\n");
}
}
reportCreator.run();
verify(sender, Mockito.times(users.size())).send(any(User.class), eq(reportData.toString));
}
Argument(s) are different! Wanted:
telegramSender.send(
<any reportbot.entity.User>,
"somestring somestring
somestring somestring
"
);
-> at ru.phoenixdnr.reportbot.ReportCreatorTest$Run.shouldGenerateStringReportWhenThreadRunHasData(ReportCreatorTest.java:233)
Actual invocations have different arguments:
telegramSender.send(
User(id=1, idTelegram=2, name=892e0f69-c10e-4961-b22e-11de333fbb55, email=73507828-9c7a-4026-8599-5e6c8c62e3c7),
"No data"
);
为什么reportData是空的?我怎么才能修好这个?我已经试了一个星期了,但没有任何帮助。
您错过了对ResultSetMetadata
的GetColumnCount
调用的模拟:
when(rsmd.getColumnCount()).thenReturn(2);
问题内容: 一种有效的方法来检查Python中的字符串是否仅包含一个字符,例如?像这样的行为: 两种看似效率低下的方法是:首先将字符串转换为列表并检查每个元素,其次使用正则表达式。有没有更有效的方法,或者这些是Python中最好的方法?谢谢。 问题答案: 到目前为止,这是最快的,甚至比它快几倍,只需使用出色的mgilson计时套件即可: 在这里,所有检查都是在Python C代码中完成的,它只是:
我正在设计一个用Go编写的gRPC服务。 gRPC服务前面是特使,它将传入的HTTP请求转换为gRPC,并将gRPC响应转换为JSON。 此应用程序的要求是有一个返回以下JSON对象的endpoint: 我可以在Go中非常简单地建模这个响应,如下所示: 但我的要求是,有时我的_id可能是空的。在这种情况下,我想找回以下JSON: 信息技术 是否可以修改,使可以是返回的JSON对象中的字符串或空值?
几个月前,我参加了纽约一家对冲基金公司的面试,不幸的是,我没有得到数据/软件工程师的实习机会。(他们还要求解决方案使用Python。) 我在第一个面试问题上搞砸了... 000-->999 现在我在考虑,我认为不可能想出一个常数时间的算法。是吗?
在Spock规范中,expect:或then:block中的任何行都被计算并断言为,除非它具有返回类型为的签名。 方法在类中定义如下: 我故意在那里断言,这样它就不会失败。即使失败并出现错误: 如何以及为什么方法调用结果被计算为?
本文向大家介绍PHP判断一个字符串是否是回文字符串的方法,包括了PHP判断一个字符串是否是回文字符串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP判断一个字符串是否是回文字符串的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。
问题内容: Java的UUID类生成随机的UUID。但这由字母和数字组成。对于某些应用,我们只需要数字。有没有一种方法可以生成仅由Java中的数字组成的随机UUID? 问题答案: 如果您不想使用随机数,但是带有数字的UUID仅使用: 在这种情况下,左填充为40个零… 结果为: UUID:b55081fa-9cd1-48c2-95d4-efe2db322a54 in: UUID:0241008287