我有这些价值来自测试
previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"
Run Code Online (Sandbox Code Playgroud)
我试试
// current timestamp is greater
assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));
Run Code Online (Sandbox Code Playgroud)
我得到了调试java.lang.AssertionError
和.detailMessage
null
如何断言使用中的条件大于 JUnit
ysh*_*vit 143
你是怎么做到的.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])));
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误:
java.lang.AssertionError: timestamp
Expected: a value greater than <456L>
but: <123L> was less than <456L>
Run Code Online (Sandbox Code Playgroud)
Qwe*_*rky 18
当使用JUnit断言时,我总是让消息变得清晰明了.它节省了大量的调试时间.这样做可以避免在hamcrest Matchers上添加依赖项.
previousTokenValues[1] = "1378994409108";
currentTokenValues[1] = "1378994416509";
Long prev = Long.parseLong(previousTokenValues[1]);
Long curr = Long.parseLong(currentTokenValues[1]);
assertTrue("Previous (" + prev + ") should be greater than current (" + curr + ")", prev > curr);
Run Code Online (Sandbox Code Playgroud)
use*_*666 13
你也可以尝试下面简单的soln:
previousTokenValues[1] = "1378994409108";
currentTokenValues[1] = "1378994416509";
Long prev = Long.parseLong(previousTokenValues[1]);
Long curr = Long.parseLong(currentTokenValues[1]);
Assert.assertTrue(prev > curr );
Run Code Online (Sandbox Code Playgroud)
小智 9
您应该将Hamcrest库添加到构建路径中.它包含所需的Matchers.class,它具有lessThan()方法.
依赖性如下.
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
小智 5
据我所知,目前在 JUnit 中,语法如下:
AssertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]), "your fail message ");
Run Code Online (Sandbox Code Playgroud)
意味着条件位于消息前面。