使用try catch语句打印出语句

Lan*_*Lee -4 java junit

@Test
public void test() throws Exception
{
    try
    {
         //some code over here
    }
    catch(Exception e)
    {
        if(e.toString() == null)
        {
               System.out.print("Test Case: Successful");
        }
        else
        {
               System.out.println("Test Case: Failed");
               System.out.println("Failing Reason: "+ e.toString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

目前我有上面的代码.但是,在执行JUnit时.控制台中没有打印任何内容.

我做错了什么吗?或者是我不能在JUnit中使用System.out.println.

所以我有第二个问题:是否可以打印出完成JUnit测试所需的总时间?

And*_*ner 5

这段代码没有意义.

  • 如果没有抛出异常,则不会抛出任何异常,因此您不会在catch块中结束; 所以你没有办法在"成功"的情况下结束(除非你明确测试抛出一个getMessage()返回的异常null,这是......嗯;在这种情况下你应该有一个fail()作为最后一行try)
  • JUnit已经为您处理了故障.如果您的方法是"正确"的方法,那么您必须将此代码放在每个测试用例中.重复了多少代码.
  • 如果try块中的代码通过抛出而失败Exception,则会捕获并吞下问题.当然,它被打印到控制台,但JUnit无法捕获它,所以它看起来像测试通过.(如果抛出一个Error或另一个,它仍然会正常失败Throwable).

简而言之:只需删除你的try/ catchblock,将代码留在其中try,让测试框架完全按照它的设计.