Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
Junit 如何测试由函数生成的打印?_Junit_Console_Output - Fatal编程技术网

Junit 如何测试由函数生成的打印?

Junit 如何测试由函数生成的打印?,junit,console,output,Junit,Console,Output,我有一个函数,应该打印字符串。 我想通过JUnit进行测试,它实际上是一个打印它应该打印的内容的函数。 怎么做 例如,这是我的功能: public static void test(int a){ System.out.println(a + "^2=" + (a*a)); } 我想检查a=3是否正在打印3^2=9 Ps,我无法更改功能。为什么不试试这个。希望它对您有用 public void TestPrint { @Rule public final Standar

我有一个函数,应该打印字符串。 我想通过JUnit进行测试,它实际上是一个打印它应该打印的内容的函数。 怎么做

例如,这是我的功能:

public static void test(int a){
    System.out.println(a + "^2=" + (a*a));
}
我想检查a=3是否正在打印
3^2=9


Ps,我无法更改功能。

为什么不试试这个。希望它对您有用

public void TestPrint {
    @Rule
    public final StandardOutputStreamLog log = new StandardOutputStreamLog();

    @Test
    public static void test(int a) {
        System.out.print(a + "^2=" + (a*a));
        assertEquals("3^2=9", log.getLog());
    }
}

第一关可能重复,谢谢!第二,当我尝试按照建议使用对象StandardOutputStreamLog时,会导致一个错误“StandardOutputStreamLog无法解析为类型”