Java 正在从文件加载字对,但未返回正确的字对
我得到一个错误:Java 正在从文件加载字对,但未返回正确的字对,java,testing,load,Java,Testing,Load,我得到一个错误: public void testLoad() { assertTrue(wordPairDemo.save(fileName)); wordPairDemo.clear(); assertTrue(wordPairDemo.load(fileName)); assertTrue(wordPairDemo.size() == 3); assertEquals(wordPairDemo
public void testLoad()
{
assertTrue(wordPairDemo.save(fileName));
wordPairDemo.clear();
assertTrue(wordPairDemo.load(fileName));
assertTrue(wordPairDemo.size() == 3);
assertEquals(wordPairDemo.lookup("hest"),"horse");
assertEquals(wordPairDemo.lookup("hus"), "house");
assertEquals(wordPairDemo.lookup("båd"),"boat");
}
我在那里运行了其他测试,但唯一失败的是加载测试。我不太明白它为什么会失败,因为它正在返回值,但它没有正确地返回它们?有人能发现不允许它给它绿色的错误吗
编辑:
错误4:
Testsuite: WordPairDemoTest
horse,hesthouse,husboat,båd
Tests run: 8, Failures: 1, Errors: 0, Time elapsed: 0,144 sec
------------- Standard Output ---------------
horse,hesthouse,husboat,båd
------------- ---------------- ---------------
Testcase: testLoad(WordPairDemoTest): FAILED
null
junit.framework.AssertionFailedError
at WordPairDemoTest.testLoad(WordPairDemoTest.java:67)
编辑2:
Testsuite: WordPairDemoTest
horse,hesthouse,husboat,båd
horse,hesthouse,husboat,båd
Tests run: 8, Failures: 0, Errors: 1, Time elapsed: 0,142 sec
------------- Standard Output ---------------
horse,hesthouse,husboat,båd
horse,hesthouse,husboat,båd
------------- ---------------- ---------------
Testcase: testLoad(WordPairDemoTest): Caused an ERROR
4
java.lang.ArrayIndexOutOfBoundsException: 4
at languagetrainer.Controller.load(Controller.java:139)
at WordPairDemoTest.testLoad(WordPairDemoTest.java:66)
for循环的意义是什么?您将在其中返回
true
。所以你只需要做一次迭代,我明白你的意思了。我想这就是为什么它将我的加载方法重新调整为失败而不是错误。我需要在哪里放置true,以便在循环结束时提取它?如果此函数的目的是从给定文件创建所有字对,则应该将此返回语句放在while块之后。因此,现在我得到一个错误,错误4。我将用它更新原始问题。输入文件中的数据是什么?只有这个?马
Testsuite: WordPairDemoTest
horse,hesthouse,husboat,båd
horse,hesthouse,husboat,båd
Tests run: 8, Failures: 0, Errors: 1, Time elapsed: 0,142 sec
------------- Standard Output ---------------
horse,hesthouse,husboat,båd
horse,hesthouse,husboat,båd
------------- ---------------- ---------------
Testcase: testLoad(WordPairDemoTest): Caused an ERROR
4
java.lang.ArrayIndexOutOfBoundsException: 4
at languagetrainer.Controller.load(Controller.java:139)
at WordPairDemoTest.testLoad(WordPairDemoTest.java:66)
Testsuite: WordPairDemoTest
horse,hesthouse,husboat,båd
horse,hesthouse,husboat,båd
Tests run: 8, Failures: 1, Errors: 0, Time elapsed: 0,176 sec
------------- Standard Output ---------------
horse,hesthouse,husboat,båd
horse,hesthouse,husboat,båd
------------- ---------------- ---------------
Testcase: testLoad(WordPairDemoTest): FAILED
null
junit.framework.AssertionFailedError
at WordPairDemoTest.testLoad(WordPairDemoTest.java:67)
Test WordPairDemoTest FAILED