我是jUnit和Selenium的新手。目前,我们正在项目中进行POC,以评估工具的适用性。
我们的关键需求之一是在断言失败和验证失败时使用友好的消息。目标是通过保持用户的直觉,让手工测试人员分析这些内容。
我正在尝试使用SLF4J来记录INFO消息,以获得用户友好的消息。
我面临的挑战是-当断言失败时,如何传递自定义消息而不是jUnit默认消息?
例如,我想去掉以下默认断言失败消息
期望"Health A-Z"匹配全局"Health A-ZZ"(已将全局转换为正则表达式"Health A-ZZ"
并将其框架为
菜单项的标题与期望值"运行状况A-ZZ"不匹配。看到的实际值为"运行状况A-Z"
Question1 -我有办法用我想要的内容覆盖默认消息吗?问题2 -我可以向消息传递可变参数并使其成为动态消息吗?
示例代码:
try {
assertEquals("Health A-ZZ", selenium.getText("//div[@id='topnav']/ul/li[2]/a"));
logger.info("SUCCESS: Menu Item {} title verification Passed. EXPECTED : A-Z and Actual: {}",mainCounter, selenium.getText("//div[@id='topnav']/ul/li[2]/a"));
}
catch (AssertionError e) {
logger.error("FAILURE: Menu Item {} title verification Failed. EXPECTED : A-ZZ and Actual: {}",mainCounter, selenium.getText("//div[@id='topnav']/ul/li[2]/a"));
}
我得到assertFailure消息打印两次…一个在上面的catch块中有错误消息,另一个是默认的junit assertfailure消息,就像我上面提到的那样,我想去掉。
Thanks in Advance.
问候,普拉卡什
您可以使用Junit断言函数。asserequals (message, expected, actual)
这将在失败的情况下打印消息字符串中给出的消息。