jjzjj

assertEquals

全部标签

java - 使用 JUnit assertEquals 的自定义异常消息?

我正在使用assertequals来比较两个数字Assert.assertEquals("Myerrormessage",First,Second);然后,当我生成测试报告时,我得到了"Myerrormessageexpected(First)was(Second)"如何自定义我用斜体显示的部分?以及数字的格式? 最佳答案 你可以这样使用:inta=1,b=2;Stringstr="Failure:Iwasexpecting%dtobeequalto%d";assertTrue(String.format(str,a,b),a==b

java - 断言等于精度

我对assertEquals中的增量/精度感到困惑。我知道0.034会给我除法代码的精度,如下所示:publicvoidtestDivide(){assertEquals(3.0,Arithmetic.divide(12.0,4.0),0.0);assertEquals(3.3,Arithmetic.divide(10.0,3.0),0.034);//fail("Notyetimplemented");}但是,我尝试将其更改为0.03,测试失败。另一方面,当我将其更改为0.04时,它会成功,或者即使将其更改为0.034444等等,也会成功。我可以知道这个数字是什么意思,我们如何使用它?

java - junit 测试 - assertEquals 异常

如何使用assertEquals查看异常消息是否正确?测试通过,但我不知道它是否命中正确的错误。我正在运行的测试。@TestpublicvoidtestTC3(){try{assertEquals("LegalValues:PackageTypemustbePorR",Shipping.shippingCost('P',-5));}catch(Exceptione){}}正在测试的方法。publicstaticintshippingCost(charpackageType,intweight)throwsException{Stringe1="LegalValues:PackageTy

java - 使用 DAO 和 Web 服务的数据库插入方法的 Junit 测试用例

我正在实现一个基于网络服务的大学管理系统。该系统将某些类(class)添加到数据库中。下面是我正在使用的代码。Course.javapublicclassCourse{privateStringcourseName;privateStringlocation;privateStringcourseId;publicStringgetCourseId(){returncourseId;}publicvoidsetCourseId(StringcourseId){this.courseId=courseId;}publicStringgetCourseName(){returncourse

java - assertEquals(Long,Integer) 能成功吗?

目前我正在做一些代码审查,我发现这行代码中断了测试用例:assertEquals(Long.valueOf(4321),lMessage.getNumber());getNumber返回一个Integer,它也是4321。我把它改成了这样:assertTrue(4321==lSavedStoerung.getMessage());因为根据我对equals方法的理解,assertEquals在第一个示例中永远不会返回true。使用我的assertTrue,所有测试用例都运行良好。还是我理解有误? 最佳答案 assertEquals测试

java - 为什么不推荐使用 JUnit 4 中的 assertEquals(Object[], Object[])?

Eclipse向我发出警告,指出Assert类型的方法assertEquals(Object[],Object[])已弃用。我正在使用JUnit4。我在Eclipse中写了如下代码:importorg.junit.Test;importorg.junit.Assert;publicclassGenerics{publicT[]genericArraySwap(T[]list,intpos1,intpos2)throwsIndexOutOfBoundsException{...}@TestpublicvoidgenericArraySwapTest(){Integer[]IntegerL

java - 为什么 junit ComparisonFailure 没有被 assertEquals(Object, Object) 使用?

在Junit4中,当assertEquals(Object,Object)失败时,您是否发现抛出ComparisonFailure而不是AssertionError有任何缺点?assertEquals(Object,Object)抛出一个ComparisonFailure如果预期和实际都是字符串一个AssertionError如果其中一个不是字符串AssertionError消息已经是这种形式"expected:butwas(通过String.valueOf,参见下面由Assert.assertEquals(Object,Object)调用的junit-4.8.2方法来构建Assert

java - 为什么 assertEquals 中的可选断言消息移到了 Junit 5 中的最后一个位置?

在JUnit4中,可选断言消息是assertEquals方法中的第一个参数。在JUnit5中,它是最后一个。移到最后位置有什么技术原因吗?如果是,是哪个? 最佳答案 我将尝试阐明我们在3年前设计JUnit5API(现在体现在Jupiter测试引擎中)时的思维过程。当时在场的其他人(MarcPhilipp、SamBrannen、MatthiasMerdes和StefanBechtold)可能会插话并纠正我的内存……我们有一些基本限制:从编译器的角度来看,JUnit5API应该与旧版本完全分离,以便来自不同版本的测试可以并排进行不过,为

java - 对于 String,推荐使用 assertTrue() 或 assertEquals() 的 JUnit?

我的代码如下@TestpublicvoidtestMyMethod(){MyClassmc=newMyClass();StringexeVal="sometextsometext";Stringx=mc.exampleMethod();//Assertiontype1Assert.assertEquals(exeVal,x);//AssertionType2Assert.assertTrue(exeVal.equals(x));}我想知道哪种方法最好。 最佳答案 首选类型1,因为当它们不匹配时您将收到断言消息。org.junit.C

java - AssertEquals(String, String) 内容相同时比较失败

我面临以下情况:我有一个应用程序可以将所有内容输出到STDOUT(简单的公司测试),我正在尝试使用JUnit。我的问题是,当我运行该应用程序时,它会在控制台中返回给我:(从IntelliJ复制粘贴)Id1234naoencontrado123,R$441,00321,R$-8490,00255,R$884,00打印:我的测试是:assertEquals(outContent.toString().trim(),"Id1234naoencontrado\n"+"123,R$441,00\n"+"321,R$-8490,00\n"+"255,R$884,00");我得到:junit.fra