gpt4 book ai didi

java - JUnit 断言两个字符串是否相等

转载 作者:行者123 更新时间:2023-11-29 03:08:51 24 4
gpt4 key购买 nike

所以我查了一下this question并尝试过,但没有成功。

我的代码应该通过使用 Streams 读回文本来测试该方法是否正确地将文本输出到控制台。

    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
PrintStream myStream = new PrintStream(outStream);
System.setOut(myStream);
o.doSomething(); //printing out Hi
System.out.flush();
System.setOut(savedOldStream);//setting it back to System.out
assertEquals(outStream.toString(),"Hi");

但每次我运行 JUnit 时它都会失败。我也尝试过:assertTrue(outStream.toString().equals("Hi")); 但这也没有用。

这是 doSomething() 方法:

public void doSomething () {
System.out.println("Hi");
}

最佳答案

PrintStream#println(String str) 在字符串末尾附加一个换行符。因此,您的断言应该减少附加行:

assertEquals(outStream.toString().trim(),"Hi");

关于java - JUnit 断言两个字符串是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579868/

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