Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java junit使用哪个断言_Java_Junit - Fatal编程技术网

Java junit使用哪个断言

Java junit使用哪个断言,java,junit,Java,Junit,我必须测试类的方法返回的值是否不同于零。我的问题是我不知道必须使用的断言。只有assertEquals,但没有assertNotEquals。我该怎么做?使用 Assert.assertTrue(actualValue!=0); 但在发生故障时,这并不能为您提供信息性信息使用: assertTrue(currentValue!=0); 或者您可以切换到并且有“assertNotEquals”方法。我认为您使用的是JUnit3(或更高版本),并且您希望测试int I!=0。你应使用: impo

我必须测试类的方法返回的值是否不同于零。我的问题是我不知道必须使用的断言。只有assertEquals,但没有assertNotEquals。我该怎么做?

使用

Assert.assertTrue(actualValue!=0);
但在发生故障时,这并不能为您提供信息性信息

使用:

assertTrue(currentValue!=0);
或者您可以切换到并且有“assertNotEquals”方法。

我认为您使用的是JUnit3(或更高版本),并且您希望测试
int I!=0
。你应使用:

import junit.framework.TestCase;
public class Tests extends TestCase {
    public void testMe(){
        int i = 4;
        assertNotSame("msg on fail", i, 0);
    }
}
使用
assertNotSame
进行测试。 对于
o!=无效的

汉克雷斯特是你在这里的朋友。使用

assertThat(currentValue, not(equalTo(0)))

这是可读的,并在出现故障时生成一条合适的消息。

我使用的是junit 4.10,当我尝试使用AssertName时,它会告诉我是否找到了。我已经导入了org.harmcrest。错误在哪里?@Mazzy-FYI,您应该1)剪切/粘贴准确的错误消息,2)发布代码,3)指定junit版本。这对给你一个准确的答案有很大帮助。这是我对JUnit的第一个抱怨。为什么没有assertNotEquals?因为使用equals测试时,您声明测试值应该匹配一个期望值。对于notEquals测试,测试值不能接受单个值,因此无法报告“预期测试值为x,但得到了y”。因此,您也可以使用assertTrue,因为不需要向测试方法提供预期值。或者“assertFalse(currentValue==0)”。不要使用assertNotSame测试原始值。在JUnit中,assertSame和assertNotSame测试用于测试两个对象引用(变量)是否指向内存中完全相同的对象。如果将其与基本值一起使用,Java会将基本值自动装箱到新的数字对象中(如Integer和Long),它们可能会不同,因此assertNotSame将始终成功,即使数字值相同。当我运行以下测试时,它失败了,因此我认为您的最后一点不可能完全正确。但我看到有时可能会有问题
public void testMe(){int i=4;assertNotSame(“msg on fail”,i,4);}