1

预期值和实际值相同,但在 JUnit 测试中测试结果失败。我不知道为什么会这样。附上代码和结果图像。更奇怪的是,即使源代码没有任何错误,包中也有错误标记。还附上了一张关于此的图片)。我想两件事是相互关联的。我怎么解决这个问题?谢谢。如果您需要更多信息,请问我。

package tests;

import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import net.n3.nanoxml.*;

public class NanoSetAttr3_wy_v1Tests extends TestCase {

    public void test0() throws Exception {
        //setattr3.out
        String result;
        ByteArrayOutputStream byteBuffer;

        byteBuffer = new ByteArrayOutputStream();
        System.setOut(new PrintStream(byteBuffer));
        try{
            SetAttr3_wy_v1.main(new String[] {});
        }catch (Throwable t) {
            t.printStackTrace(System.out);
        }
        result = new String(byteBuffer.toByteArray());
        assertEquals(result, "<FOO Weight=\"80\"/>");
    }

}

junit 比较结果 包装错误标记

4

1 回答 1

5

如果您仔细查看 Expected 和 Actual 窗口,您会发现 Expected 有两行,Actual 有一条。这意味着预期输出有换行符,但实际输出没有。

关于错误标记,请打开“问题”窗口了解详细信息(如果您不使用 Eclipse,应该有类似的内容)。

于 2013-11-08T01:39:20.063 回答