gpt4 book ai didi

java - junit.framework.AssertionFailedError 并且由于空格而没有可运行的方法

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

执行此操作时,我收到 junit.framework.AssertionFailedError:

assertEquals("123 \t July \t testuser \t USD \t one two \t pnl \t ACTUALS_STAGE \t product_line \t pnl", tabs );

错误:

expected:<123[   July    testuser    USD     one two     pnl     ACTUALS_STAGE   product_line    ]pnl>
but was:<123[ July testuser USD one two pnl ACTUALS_STAGE product_line ]pnl>

“tabs”正在从正在测试的函数中获取制表符分隔的参数。由于空格问题,断言失败。空格和制表符一起附加在值之间。

测试代码:

@Before
public void setUp() throws Exception {
List<String> list = Arrays.asList("one", "two");
List<String> scenarioList = Arrays.asList("ACTUALS_STAGE");
List<Map<String, List<String>>> filter = new ArrayList<>();
Map<String, List<String>> filtersMap = new HashMap<>();
List<String> filterList = Arrays.asList("A1PCON");
filtersMap.put("product_line", filterList);
filter.add(filtersMap);

reportQueryParams = ReportQueryParams.builder()
.id("123").currency("USD").companies(list).cognosDatasetType("pnl").scenarios(scenarioList)
.filters(filter).reportTemplate("pnl")
.build();
}

@Test
public void tabSerializerTest() {
String remoteUser = "testuser";
HttpServletRequest httpServletRequest = Mockito.mock(HttpServletRequest.class);
Mockito.when(httpServletRequest.getRemoteUser())
.thenReturn(remoteUser);
MetricsSerializer metricsSerializer = new MetricsSerializer();
String tabs = metricsSerializer.serializeMetrics(reportQueryParams, httpServletRequest);
assertEquals("123 \t July \t testuser \t USD \t one two \t pnl \t ACTUALS_STAGE \t product_line \t pnl", tabs );
}

例如:

abc\t pqr :这将显示第一个值,添加空格,添加制表符,添加空格,然后显示第二个值。

预期:abc\tpqr

如果我执行“abc\tpqr”,则会收到以下错误:

No runnable method found.

我已经用 @Test 注释了它,如果我执行“abc\t pqr”,它就可以工作

我也尝试过执行“abc”+“\t”“pqr”,但它给出了相同的可运行文件未找到(初始化错误)。

我该如何处理这个问题以修复断言错误和可运行错误?我只想要值之间有一个制表符。

最佳答案

你真的需要检查制表符和空格吗?如果没有,则将字符串结果传递给新方法来解决间距问题。或者您可以简单地返回一个值数组,忽略空格,如下所示。

public static String[] getValues(String input){
//tokenize
String[] values = input.split("\\s+");
return values;

}

然后您可以使用断言来比较预期数组和实际数组。

关于java - junit.framework.AssertionFailedError 并且由于空格而没有可运行的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51603263/

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