Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当JUnit中的实际值和期望值相同时,为什么要进行测试?_Java_Junit - Fatal编程技术网

Java 当JUnit中的实际值和期望值相同时,为什么要进行测试?

Java 当JUnit中的实际值和期望值相同时,为什么要进行测试?,java,junit,Java,Junit,我正在编写一个关于在Java中反转字符串的代码,我必须用JUnit做一些测试。该程序适用于我插入的每个输入。问题是测试失败了。然而,当我看到实际值和期望值时,它们是一样的 这是我为反转方法编写的代码: publicstaticstringreverseend(字符串文本,int-start){ char[]reverse=新字符[text.length()]; 字符[]正常=新字符[开始]; 对于(int i=0;i

我正在编写一个关于在Java中反转字符串的代码,我必须用JUnit做一些测试。该程序适用于我插入的每个输入。问题是测试失败了。然而,当我看到实际值和期望值时,它们是一样的

这是我为反转方法编写的代码:

publicstaticstringreverseend(字符串文本,int-start){
char[]reverse=新字符[text.length()];
字符[]正常=新字符[开始];
对于(int i=0;i
以下是我正在做的测试:

public void test2(){
资产质量(“a”,StringManipulation.reverseEnd(“a”,1));
}
公共无效测试4(){
assertEquals(“HdlroW,olle”,StringManipulation.reverseEnd(“Hello,World”,1));
}
//text.length()=12

//start=3(1得到的实际值和期望值不一致。方法返回的实际值有尾随空格。消除它们的一种方法是
trim
您的结果:

返回String.copyValueOf(正常).trim()+String.copyValueOf(反向).trim();
或者,您也可以使用
StringBuilder
来附加所需的字符,而不是在数组中乱搞:

publicstaticstringreverseend(字符串文本,int-start){
StringBuilder sb=新的StringBuilder(text.length());
sb.追加(文本,0,开始);
对于(int i=text.length()-1;i>=start;--i){
sb.追加(text.charAt(i));
}
使某人返回字符串();
}

哪些测试失败?失败时的错误消息是什么?测试框架通常会在错误时打印有用的消息。你确定测试值正确吗?我想我看到了一些错误。当你测试出现问题时,有条理地进行有助于:从反转一个字符开始,然后是两个,然后是三个,等等你能看到错误的模式,并决定如何修复它。