如何记录JUnit测试方法的每个语句

时间:2015-01-02 01:57:45

标签: java junit

默认情况下,jUnit报告仅在测试用例级别记录:'传递'或者'失败'否则加上堆栈跟踪。

我需要的是从JUnit @Test方法更深入地记录每行代码。因此,报告具有一般信息(测试通过或失败)以及执行每个步骤的详细信息,最终是失败的信息。

目前的代码结构:

public abstract class TestClass{
    static Logger logger = log4j.Logger.getLogger(TestClass.class); 

    @Test
    public void testMethod() throws Exception{
            driver.findElement(By.id("some_id")).click();
            Assert.assertEquals("product edit", driver.getTitle());
    }
}

2 个答案:

答案 0 :(得分:0)

这是不可能的,因为编译后源代码不再可见。

答案 1 :(得分:0)

您只能在测试方法的每一行之前/之后使用日志指令手动执行此操作,例如:

public abstract class TestClass{
    static Logger logger = log4j.Logger.getLogger(TestClass.class); 

    @Test
    public void testMethod() throws Exception{
            logger.info("Calling click method on some id...");
            driver.findElement(By.id("some_id")).click();
            logger.info("Testing driver's title");
            Assert.assertEquals("product edit", driver.getTitle());
    }
}