我现在在做UT测试,在测试一个方法的时候断言能够顺利执行,但是控制台里面老有异常抛出,怎样让异常不在控制台里面抛出呢??

解决方案 »

  1.   

    有异常就说明有问题啊  有问题就得解决啊,看你好像在逃避问题呢
    至于不让异常在控至台抛出,应该是有个log4j文件里面定义的,至于这个文件的的位置看你用的什么 工具了
      

  2.   

    信息在控制台输出的级别是可以设置的,比如设置显示什么级别以上的信息才输出。
    断言抛出的是AssertionError,如果不是这个,应该是其他地方出现的问题。另外同意楼上的观点,既然有异常就要解决。
    如果确实是可忽略的异常,应该在程序里捕获不抛信息就行了。
      

  3.   

    System.setErr // 重定向error输出
    System.setOut // 重定向标准输出
      

  4.   

    我现在的UT是测试action,execute方法在调用底层的时候有些参数不能够成功构造,所以抛出异常;我们现在的项目是优化,项目前期没有做UT,现在要求补上,程序本身是没有问题的!!
      

  5.   

    重定向到一个空的输出就可以了。具体点: System.setErr(new PrintStream(new OutputStream() {
    public void write(int b) throws IOException {}
    }));
    System.setOut(new PrintStream(new OutputStream() {
    public void write(int b) throws IOException {}
    }));