重写system.out.println时出现JUunit断言错误

时间:2017-04-05 11:53:21

标签: java junit assert

我按照以下link覆盖了java中的export CFLAGS="${CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0" export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0" 调用。

这是程序

System.out.println

这是测试用例

public class palstr
{
    public String rev(String a)
    {
        String b=new StringBuffer(a).reverse().toString();
        return b;
    }
    public int check(String a,String b)
    {
        if(a.equals(b))
        {
                    return 1;
        }
        else
        {
                    return 0;
        }
    }

   public static void main(String a){
     palstr obj = new palstr();
     String b = obj.rev(a);
     int check= obj.check(a, b);

     if(check == 1){
       System.out.println("palindrome");
     } else {
       System.out.println("not palindrome");
     } 
   }
}

当我运行测试时,我收到以下错误

import java.io.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

public class palstrTest
{
    @Test
    public void mainTest(){
        System.out.println("madam is a palindrome string");
        ByteArrayOutputStream outContent = new ByteArrayOutputStream();
        System.setOut(new PrintStream(outContent));
        palstr.main("madam");
        assertEquals("palindrome", outContent);
    }
 }

0 个答案:

没有答案