gpt4 book ai didi

java - Java 和 Eclipse 中的断言问题

转载 作者:行者123 更新时间:2023-12-01 21:40:49 32 4
gpt4 key购买 nike

我正在使用 Java、Selenium Webdriver 和 Junit。对 Google 的标题进行简单验证,但当断言失败时它会抛出异常,我的意思是当标题不匹配时。

代码:

public static void verifyTitle(String expectedTitle) {
//get the title of the page
String actualTitle = Base.getdriver().getTitle();

// verify title
assertThat(actualTitle, equalTo(expectedTitle));
}

我正在主方法中调用:verifyTitle("Hello");

输出:

> Exception in thread "main" java.lang.AssertionError:  Expected:
> "Hello"
> but: was "Google" at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20) at
> org.junit.Assert.assertThat(Assert.java:956) at
> org.junit.Assert.assertThat(Assert.java:923) at
> Modules.Help.verifyTitle(Help.java:161) at
> Modules.Help.GUI(Help.java:152) at Modules.Help.main(Help.java:29)

它正在检查一切是否正确,但不确定为什么抛出异常?如何打印诸如“标题不匹配”之类的消息而不是此异常。

最佳答案

写下:

if (!Objects.equals(actualTitle, expectedTitle))
System.out.println("Title doesn't match.");

但是你为什么要这么做呢?

Selenium 测试会在某些情况不符合预期时自动通知您。抛出 AssertError 意味着失败,并且该失败可以很好地显示给人类。当您使用 System.out.println 时,您只是打印一些内容,但程序会继续执行,就好像没有错误一样。

关于java - Java 和 Eclipse 中的断言问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36493492/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com