javajunit中的星空是什么意思?

2exbekwf  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(310)

我正在写一个java项目,在这个项目中我有graph类和其他表示图和点的类这对我的问题不重要)
我编写了两个函数来打印一个特定的图形名称,以及其他处理图形的基本函数。
我还写了一个函数:

private void listNodes(String graphName);

这个函数应该打印它的名字所给的图中的所有节点!
之后我们运行了使用 jUnit ,这些测试基本上比较测试预期输出(即提供给我们的)和实际输出(我编写的代码的输出)
junit总是告诉我函数的预期输出之间存在差异 private void listNodes(String graphName) 以及我的实际输出!
我看了两个输出,没有任何区别!!
但是在junits显示两个输出的窗口中,有一个选项 show white space characters 当我点击它时,它显示如下:(看第16行(这一行显示 private void listNodes(String graphName) 函数,左边是预期输出,右边是我的输出:()

有人知道这个红星形状的空间是什么,以及如何在代码中添加它吗??
这是我的函数(打印第16行):
私有void listnodes(string graphname){

Graph<WeightedNode> graph = graphs.get(graphName);
if(graph==null) return;
List<WeightedNode> listOfAllNodes=graph.getNodesList();
 Collections.sort(listOfAllNodes); 
 output.print(graphName+" contains:");
 for(int i=0;i<listOfAllNodes.size();i++) {
     output.print("\s");
     output.print(listOfAllNodes.get(i).getName());
 }
     output.print("\n");
}
mfpqipee

mfpqipee1#

我不确定您使用什么来显示输出,但我猜“星形空间”是它对ascii回车(cr)字符的呈现。
在windows中,一行应该以cr和nl结尾;即 "\r\n" .
您可以将print语句更改为打印该语句,但更好的方法是替换 print("\n") 用一个 println() . 为正在运行的机器的操作系统输出适当的行终止。

相关问题