我正在使用TestNG,WebDriver和log4j编写一些测试 我想记录assert nomatter的结果,如果结果为true或false。例如,当我写这个代码:如何记录Assert的真实结果
Assert.assertTrue(condition)
我想在日志中看到如果这是一个通过或失败。现在,如果结果是FAIL,我只能看到任何日志。 有没有人有关于如何实现这一点的想法?
谢谢
我正在使用TestNG,WebDriver和log4j编写一些测试 我想记录assert nomatter的结果,如果结果为true或false。例如,当我写这个代码:如何记录Assert的真实结果
Assert.assertTrue(condition)
我想在日志中看到如果这是一个通过或失败。现在,如果结果是FAIL,我只能看到任何日志。 有没有人有关于如何实现这一点的想法?
谢谢
你可以覆盖Assert-Class并自己触发记录器。
你的意思是它会通过MyAssert.assertTrue(condition)来记录结果然后调用Assert.asserTrue? – Tom 2012-07-26 07:20:14
是的,我的意思是。如果记录器没有,你也可以使用MyAssert提供额外的记录信息。 – rollstuhlfahrer 2012-07-26 08:03:23
没有办法告诉Assert
记录一个成功的断言。你可以这样做:
Assert.assertTrue(condition);
logger.info(condition ? "PASS" : "FAIL");
或子类Assert
并重新实现assertTrue
做记录你。请注意,在这种情况下,您的日志行将声明在Assert.assertTrue
之内,而不是呼叫点,因此您必须以某种方式解决该问题。
我重新设计TestNG的断言系统的工作,看看新的架构,让我知道你在想什么:
https://groups.google.com/group/testng-users/browse_thread/thread/4392868b7d1fd051
你为什么要这么做?这是一种不寻常的工作流程 - 对于单元测试,测试值通常只在失败时才有意思。 – Tom 2012-07-26 07:19:22