当前位置: 首页 > 面试题库 >

如何断言比使用JUnit声明更大?

东方淇
2023-03-14
问题内容

我有这些值来自测试

previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"

我尝试

    // current timestamp is greater
    assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));

我得到了java.lang.AssertionErrordetailMessage关于调试是null

我怎样才能断言超越使用条件 JUnit


问题答案:

只是您的操作方式。assertTrue(boolean)还有一个过载assertTrue(String, boolean)String如果发生故障,消息是;如果要打印某某某物的大小不超过某某某物的大小,则可以使用它。

您也可以添加hamcrest- all依赖项以使用匹配器。参见https://code.google.com/p/hamcrest/wiki/Tutorial:

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;

assertThat("timestamp",
           Long.parseLong(previousTokenValues[1]),
           greaterThan(Long.parseLong(currentTokenValues[1])));

这给出了类似的错误:

java.lang.AssertionError: timestamp
Expected: a value greater than <456L>
     but: <123L> was less than <456L>


 类似资料:
  • 我试着 我在调试时获得和是。 如何在使用时断言大于条件

  • 问题内容: 我想在两个小数点后两位之间使用断言,我使用这个: 但是JUnit日志显示: 问题答案: 测试两个对象是相同的对象,即它们是: 断言两个对象引用相同的对象。如果它们不相同,则会抛出一个没有消息的消息。 在您的情况下,由于和都是new ,所以对象不相同,因此是例外。 您要使用,测试两个对象是否相等,即: 断言两个对象相等。如果不是,则会抛出一个不带消息的消息。如果期望和实际相等,则认为它们

  • 问题内容: 今天,我看到了一个带有Java断言而不是JUnit断言的JUnit测试用例-相对于另一个而言,优先选择一个优点还是缺点? 问题答案: 在JUnit4中,JUnit断言引发的异常(实际上是Error)与java 关键字(AssertionError)引发的错误相同,因此它与堆栈跟踪完全相同,除了您无法分辨出其区别。 话虽这么说,断言必须在JVM中使用特殊标志运行,导致许多测试似乎通过了,

  • 问题内容: 如何获得要打印到[标准输出]的JUnit断言的结果? 我有一些像这样的测试: 这是我希望获得的打印输出格式: 是否可以使用和进行此操作?或是否存在任何,方法? 问题答案: 首先,您有两个问题,而不是一个。断言失败时,将引发异常。这样可以防止检查超过此点的任何断言。为了解决这个问题,您需要使用ErrorCollector。 其次,我不认为JUnit内置了任何方法来执行此操作。但是,您可以

  • 我有以下类桥联图: 我将JUnit测试用例编写为: 但我不知道该断言什么:

  • 我的项目中有很多JUnit测试。其中一些有一些副作用,可能会影响其他测试的执行。例如,它们打开数据库连接并忘记关闭它们,然后在某个时候测试开始失败,因为它们达到了极限。我想我可以使用一些混音进行测试,我可以这样使用... ...这样当我运行它时,我会得到一个断言错误以及有关执行时间的信息。 我的意思是,检查连接是否关闭很简单,但是在每个测试类或方法中手动将代码放在和方法中似乎是个坏主意。 我认为这