jjzjj

java - 使用 JUnit 测试图像文件

我正在寻找有关如何使用JUnit测试动态生成的图像是否是预期图像的方向。一些背景知识:我有代码生成缩略图作为java.awt.image.BufferedImage并将这些BufferedImage存储到java.io.File对象中。我编写了一个简单的单元测试来检查几个关键项目,以便确信生成的图像是正确的:@TestpublicvoidtestGenerateDefaultThumbnail(){Filefile=//someGeneratedFile.jpgassertNotNull(file);assertEquals(10211l,file.length());}基本上,我只是

java - 在 Maven 构建的项目中启用断言

我有一个使用Maven构建的java程序,我需要启用assert关键字。理想情况下,我想在maven构建命令中启用断言。 最佳答案 Maven编译并构建java代码。当您实际运行Java代码时会出现断言错误,因此使用Maven时您不能这样做除非您使用maven插件来启动java代码,否则您必须向jvm提供-eaexec:java将-ea传递给commandlineargument万无一失如果你打算执行测试,那么配置sure-fire插件将-ea传递给jvmorg.apache.maven.pluginsmaven-surefire-

Java Assert Double 是 NaN

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我试图断言我的替身是NaN。这是一个代码片段:privateDoublecalculateIt(Stringinput){...}assertEquals(Double.NaN,calculateIt("inputtext"));代码无法编译,Double.NaN被定义为原语publicstaticfinaldoubleNaN=0.0d/0.0;为了使断言有效,我用Double对象包装了N

java - 如果日期相同,为什么 assertEquals 为假? hibernate

我正在生成一个日期并通过hibernate保存在数据库中,当我获得该值时,我将其与插入之前的值进行比较。结果不相等!我创建的日期如下Daterightnow=Calendar.getInstance().getTime();Taskt1=newTask("Mytask",rightnow);taskDao.saveOrUpdate(t1);TasktaskR1=taskDao.get(t1.getIdTask());assertEquals("Theyshouldhavetobeequaldates",taskR1.getDate(),t1.getDate());我遇到了这个错误不同于

java - 如何在代码中为 junit 测试禁用 Java 断言

如何在代码中为junit测试禁用java断言(不是junit断言)我已经编写了一个junit测试,但是当我运行它时,它并没有像预期的那样失败,因为断言已启用,而它们并未在生产中。有没有办法只在代码中禁用断言,以便它在IDE中运行时以及作为Maven的一部分构建时按预期工作 最佳答案 在Java中(在单个类中禁用断言)要在Java中启用或禁用断言检查,请使用setClassAssertionStatus在类加载器中。例如:Foo.class.getClassLoader().setClassAssertionStatus(Foo.cl

java - Junit4 + Spring 2.5 : Asserts throw "NoClassDefFoundError"

我一直在使用Spring在Junit4中编写测试代码,我得到了这个有趣的行为:如果我的测试是这样通过的,那么一切都很好:@TestpublicvoidtruthTest(){assertTrue(true);//Ok}但是,如果我的测试失败了:@TestpublicvoidtruthTest(){assertTrue(false);//ERROR}然后我收到了一个丑陋而神秘的堆栈跟踪,而不是测试失败,就是这样:http://pastie.org/429912对于这个丑陋的转储感到抱歉,但这是我必须解释问题的唯一数据(为了便于阅读,我“粘贴”了它)我真的很纳闷,有没有人遇到过这种问题?提

java assertEquals 集合

我有两套:Setset1=newHashSet(5);Setset2=newHashSet(5);//add5attributeobjectstoeachofthem.(notnecessarilythesameobjects)assertEquals(set1,set2);//重写了Attribute的equals方法,按照我的要求:publicabstractclassAttributeimplementsSerializable{publicintattribute;publicabstractbooleanisNumerical();@Overridepublicboolean

java - 为什么 junit4 没有 Assert.assertArrayEquals() for double[]s?

在Junit4中似乎有Assert.assertArrayEquals()方法用于除double之外的所有原语,例如Assert.assertArrayEquals(int[]expected,int[]actual)和Assert.assertArrayEquals(char[]expected,char[]actual)但不是Assert.assertArrayEquals(double[]expected,double[]actual,doubleeps)或Assert.assertArrayEquals(double[]expected,double[]actual,doubl

java - 单元测试 : assert not work?

我刚刚应用了一段时间的UnitTest,今天我遇到了一些很奇怪的事情。考虑以下代码:TestObjectalo=null;assertalo!=null;//Pass!!!Assert.assertNotNull(alo);//Fail,asexpected.我四处搜索,发现assert是java内置的,而assertNotNull是JUnit支持的。但是我不明白为什么assert不提示空对象? 最佳答案 Hoang,我认为您对Java语言断言和JUnit断言有点混淆。Java中的assert关键字是在1.4中添加的,旨在允许验证类

java - java ' assert ' 和 ' if () {} else exit;' 之间的区别

javaassert和if(){}elseexit;有什么区别?我可以只使用if(){}elseexit而不是assert吗? 最佳答案 也许有点谷歌?"你应该记住的主要事情是if-else语句应该用于程序流控制,而assert关键字应该只用于测试目的。你不应该使用断言来实际执行程序所需的任何操作您的应用程序才能正常工作。根据Sun的官方Java文档:“每个断言都包含一个boolean表达式,您相信断言执行时该表达式为真。”"阅读更多:http://wiki.answers.com/Q/What_is_the_difference_