java jUnit 中的星号空格是什么意思?
What does the star whitespace in java jUnit mean?
我正在写一个 java 项目,在这个项目中我有 Graph class 和其他 classes 表示图表和点...(这对我的问题)
我写了几个打印特定图形名称的函数和其他处理图形的基本函数。
我还写了一个函数:
private void listNodes(String graphName);
此函数应该打印其名称给出的图中的所有节点!
之后我们 运行 测试使用 jUnit
,这些测试基本上比较测试预期输出(给我们的)和实际输出(我编写的代码的输出)
jUnit 总是告诉我函数的预期输出 private void listNodes(String graphName)
和我的实际输出之间存在差异!
我查看了两个输出,完全没有区别!!
但是在 jUnits 显示两个输出的 window 中,有一个选项 show white space characters
当我点击它时显示:(看第 16 行(此行显示 private void listNodes(String graphName)
函数的输出,左侧是预期输出,右侧是我的输出 :( )
谁知道这个红星的形状是什么 space 以及如何在代码中添加它??
这是我的函数(打印第 16 行):
private 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");
}
我不确定您使用什么来显示该输出,但我猜它的“星形 space”是 ASCII 马车 Return (CR) 的渲染字符.
在Windows中,一行应该以CR结束,然后是NL;即 "\r\n"
.
您可以更改打印语句来打印它,但更好的办法是将 print("\n")
替换为 println()
。这会为您 运行 使用的机器的操作系统输出适当的线路终止。
我正在写一个 java 项目,在这个项目中我有 Graph class 和其他 classes 表示图表和点...(这对我的问题)
我写了几个打印特定图形名称的函数和其他处理图形的基本函数。
我还写了一个函数:
private void listNodes(String graphName);
此函数应该打印其名称给出的图中的所有节点!
之后我们 运行 测试使用 jUnit
,这些测试基本上比较测试预期输出(给我们的)和实际输出(我编写的代码的输出)
jUnit 总是告诉我函数的预期输出 private void listNodes(String graphName)
和我的实际输出之间存在差异!
我查看了两个输出,完全没有区别!!
但是在 jUnits 显示两个输出的 window 中,有一个选项 show white space characters
当我点击它时显示:(看第 16 行(此行显示 private void listNodes(String graphName)
函数的输出,左侧是预期输出,右侧是我的输出 :( )
谁知道这个红星的形状是什么 space 以及如何在代码中添加它??
这是我的函数(打印第 16 行):
private 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");
}
我不确定您使用什么来显示该输出,但我猜它的“星形 space”是 ASCII 马车 Return (CR) 的渲染字符.
在Windows中,一行应该以CR结束,然后是NL;即 "\r\n"
.
您可以更改打印语句来打印它,但更好的办法是将 print("\n")
替换为 println()
。这会为您 运行 使用的机器的操作系统输出适当的线路终止。