即使代码正确,我的 junit 测试仍然失败
My junit tests keep failing even though code is correct
一个月前我刚开始在大学学习 java 编码。这里我只是做了一个非常简单的程序来反转用户输入的字符串。
例如,如果我输入“apple”,它应该 return“elppa”。但是,我的 JUnit 测试在这里总是失败。我尝试在 JUnit 上使用调试器,但它一直抛出异常 java.lang.reflect.InvocationTargetException
.
如果有人能帮我解决这个问题,我将不胜感激。提前致谢!! (另外请忽略我愚蠢的变量和 class 名称,我只是在胡闹)
public String word;
public wechillin (String wordin) {
word= wordin;
}
public void Reverse() {
String newword= "";
for (int i= word.length()-1; i>=0; i--) {
newword+= word.charAt(i);
}
word= newword;
}
测试:
@Test
public void testReverse() {
wechillin all = new wechillin("apple");
all.Reverse();
assertTrue(all.toString.equals("elppa"));
}
- 首先,您可以将 toString 方法重写为 return 只有单词值。
@Override public String toString() { return word; }
我建议您为值词创建 getter 并在单元测试中检查该值。请看下面的例子:
public class wechillin {
public String word;
public wechillin (String wordin) {
word= wordin;
}
public void Reverse() {
String newword= "";
for (int i= word.length()-1; i>=0; i--) {
newword+= word.charAt(i);
}
word= newword;
}
public String getWord() {
return word;
}
}
和单元测试:
class wechillinTest {
@Test
void reverse() {
wechillin all = new wechillin("apple");
all.Reverse();
assertTrue(all.getWord().equals("elppa"));
}
}
一个月前我刚开始在大学学习 java 编码。这里我只是做了一个非常简单的程序来反转用户输入的字符串。
例如,如果我输入“apple”,它应该 return“elppa”。但是,我的 JUnit 测试在这里总是失败。我尝试在 JUnit 上使用调试器,但它一直抛出异常 java.lang.reflect.InvocationTargetException
.
如果有人能帮我解决这个问题,我将不胜感激。提前致谢!! (另外请忽略我愚蠢的变量和 class 名称,我只是在胡闹)
public String word;
public wechillin (String wordin) {
word= wordin;
}
public void Reverse() {
String newword= "";
for (int i= word.length()-1; i>=0; i--) {
newword+= word.charAt(i);
}
word= newword;
}
测试:
@Test
public void testReverse() {
wechillin all = new wechillin("apple");
all.Reverse();
assertTrue(all.toString.equals("elppa"));
}
- 首先,您可以将 toString 方法重写为 return 只有单词值。
@Override public String toString() { return word; }
我建议您为值词创建 getter 并在单元测试中检查该值。请看下面的例子:
public class wechillin { public String word; public wechillin (String wordin) { word= wordin; } public void Reverse() { String newword= ""; for (int i= word.length()-1; i>=0; i--) { newword+= word.charAt(i); } word= newword; } public String getWord() { return word; } }
和单元测试:
class wechillinTest {
@Test
void reverse() {
wechillin all = new wechillin("apple");
all.Reverse();
assertTrue(all.getWord().equals("elppa"));
}
}