测试用例空时间异常

时间:2014-09-15 16:38:12

标签: java junit

我在为这种情况编写JUnit测试时遇到了麻烦。我得到运行时错误。 我试过了

import junit.framework.*;
import student.TestCase;

public class MemmanTest extends TestCase {

public MemmanTest() {
    // empty
}

public void testMemmanSystemIn() throws Exception {

    setSystemIn("10 32 P1sampleInput.txt");
    Memman.main(null);
    assertTrue(systemOut().getHistory(), "P1sampleOutput.txt");
    }
}`

所以我可以检查输入文件和输出文件是一样的。 (实际上,当我运行实际程序时,同样如此,但我无法进行测试用例。)

1 个答案:

答案 0 :(得分:3)

这不是你怎么称为主。

如果未指定任何参数,则args变量不为null;这是一个空数组。

Memman.main(new String[]{});

您也可以使用varargs而不是数组,然后只调用main而不带参数。

编辑:正如Holger所指出的,看起来你正在尝试使用setSystemIn()将参数传递给main()方法。那不行。相反,你应该将它们传递给数组:

Memman.main(new String[]{"10", "32", "P1sampleInput.txt"});

这是Google搜索“junit pass arguments to main”的第一个结果:Passing command line arguments to JUnit in Eclipse