【问题标题】:do assertations exist in both JAVA and JUnit?JAVA 和 JUnit 中都存在断言吗?
【发布时间】:2012-12-23 00:21:27
【问题描述】:

我正在查看 x 人很久以前发布的问题之一。

例如:assertEquals(driver.getPageSource().contains("sometext"), true);

(或) assertEquals(boolean , boolean);

如果存在上述方法,我喜欢使用它。我查看了 JUnit API 及其方法,没有这样的方法。

1)如果存在,有人可以发布相关链接吗?

2) JAVA 默认类中是否存在断言? (我知道他们在 JUNIT 中)

【问题讨论】:

  • 这是两个独立(且不相关)的问题;请将它们作为两个单独的帖子发布...
  • 当您尝试使用 assertEquals(boolean,boolean) 时会发生什么?有什么错误吗?或意外行为?另一件事是更好地使用 assertTrue(boolean condition),用于这些布尔检查。

标签: java selenium junit webdriver assert


【解决方案1】:

为什么不使用assertTrue(driver.getPageSource().contains("sometext"));

【讨论】:

    【解决方案2】:

    assertEquals 方法在JUnit 中,特别是在org.junit.Assert 类中:

    您通常使用如下静态导入语句导入它们:

    import static org.junit.Assert.*;
    

    assert 本身是核心 Java 的一部分,它提供了一种添加健全性检查的方法,这些检查在您调试时运行,但在生产代码中会被忽略(因此不会增加任何开销)。

    assert(something==somethingElse);
    

    【讨论】:

      【解决方案3】:

      如果您想在您的主要 Java 代码中进行断言(例如进行完整性检查),您可以使用 assert keyword。 JUnit 中的 assertTrue() and assertEquals() 等方法旨在用于基于 JUnit 的单元测试代码中。

      【讨论】:

        【解决方案4】:

        最基本的示例是@daniel-kaplan 建议的示例,但如果您可以选择在测试范围内添加额外的库,我建议您使用Hamcrest matchers。他们添加了超级棒的语法糖。

        你的例子是:

        assertThat(driver.getPageSource(), containsString("someText"));
        

        【讨论】:

          【解决方案5】:

          使用 javadoc 生成的 API 文档。 JUnit javadoc link

          如果要使用 beteewn boolean 和 boolean 的方法进行比较, 也许你可以使用方法 assertTrue(boolean condition) 。

          java代码:

           assertTrue(driver.getPageSource().contains("sometext"));
          

          【讨论】:

            猜你喜欢
            • 2018-12-23
            • 1970-01-01
            • 1970-01-01
            • 2018-06-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多