`

JUnit 单元测试 double类型断言异常

 
阅读更多

今天在写单元测试时,用到对double类型进行断言相等时出现的问题

代码:Assert.assertEquals(1.0, 1.0);

异常:

       java.lang.AssertionError: Use assertEquals(expected, actual, delta) to compare floating-point numbers
    ... ...

       附加源码

       static public void assertEquals(double expected, double actual) {
        assertEquals(null, expected, actual);
    }

       static public void assertEquals(String message, double expected, double actual) {
        fail("Use assertEquals(expected, actual, delta) to compare floating-point numbers");
    }

       从以上的代码可以看出JUnit本身不支持double类型的等值断言。

 

       所以解决的办法就是Assert.assertEquals((Double) 1.0, (Double) 1.0); 强转成 long类型

 

      但是还不知道为什么JUnit的这么简单的断言都不实现呢? 请高手解答

 

分享到:
评论

相关推荐

    Junit4单元测试入门例子

    在这个测试用例中,我们使用`expected`参数来断言方法抛出的异常类型。 通过以上步骤,我们就完成了Calculate类的单元测试。运行这个测试类,如果所有测试用例都通过,那么我们可以相信Calculate类的加减乘除方法在...

    JUnit常用断言方法.txt

    JUnit 是一个用于编写和运行可重复测试的框架,主要用于Java程序的单元测试。在进行单元测试时,我们经常需要使用到断言方法来验证被测代码的行为是否符合预期。本文将详细介绍JUnit中常用的几种断言方法及其应用...

    JUnit和设计模式.ppt

    此外,JUnit还支持参数化测试、定时器、异常测试等多种高级特性,这些都极大地丰富了单元测试的可能性,使得测试更加灵活和强大。 总而言之,JUnit作为一个强大的测试工具,通过提供简单易用的API和遵循设计模式的...

    JUnit常用断言方法1

    1. `assertEquals(a, b)`:这个方法用于测试两个原始类型值(如int, double, char等)或实现了`equals()`方法的对象是否相等。如果a和b的值不相等,断言将失败,并显示期望和实际的值,帮助开发者定位问题。例如,`...

    junit完整教程(原创文章,版权所有,请勿侵权)

    #### 4.3 异常测试 **引发 `Exception` 衍生异常:** 使用 `@Test(expected = Exception.class)` 注解来验证方法是否会抛出预期的异常类型。 **引发 `RuntimeException` 衍生异常:** 同上,但需要指定具体的异常...

    JUnit三分钟教程 ---- 快速起步

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写和执行针对代码各个部分的自动测试。在本文中,我们将快速浏览一个简单的JUnit入门教程,帮助你理解如何使用JUnit进行基本的测试。 首先,我们...

    android应用测试与调试实战第二章.pdf

    - **JUnit简介**:JUnit是一个流行的Java单元测试框架,用于编写和运行可重复的测试案例。 - **测试案例结构**:在JUnit中,测试案例通常由一个或多个测试方法组成,这些方法通常以`test`开头,并使用注解如`@Test`...

    Test_dload_1.rar_The Test

    开发者可能在创建这个测试文件时,目的是验证double类型数据的正确加载和处理,或者检查与浮点计算相关的边界条件和异常处理。 为了深入理解这个测试,我们需要查看`Test_dload_1.java`的源代码,分析其中的方法和...

    XUNIT测试模式--测试码重构(英文版)

    xUnit是一种广泛使用的单元测试框架家族,包括JUnit、NUnit等,适用于多种编程语言和环境。无论是在敏捷开发环境下还是传统的软件开发生命周期中,本书都为开发人员、项目经理及测试工程师提供了宝贵的指导。无论是实践...

    StudyTestCase:android学习测试例子

    2. **JUnit**:学习使用JUnit进行单元测试,理解断言、测试套件和测试注解的使用。 3. **Mockito**:掌握Mockito框架,用于模拟对象和依赖注入,以便在测试中隔离被测代码。 4. **AndroidJUnitRunner** 和 ** ...

    EmployeeTest.rar_Employee类_TestEmployee

    1. `@Test` 注解的方法:每个测试方法都应有此注解,通常使用JUnit框架编写测试。 2. `assertXXX` 方法:如`assertEquals`, `assertTrue` 等,用于断言预期结果与实际结果的匹配。 3. 创建`Employee` 实例:测试方法...

    java 入门教程 初级教程

    单元测试可以帮助确保代码的正确性,JUnit是一个流行的Java测试框架,通过断言和测试方法,我们可以验证代码的功能是否符合预期。 在阅读本书的过程中,建议边学边练,动手编写代码来巩固知识。通过不断实践,你将...

    java_kechengsheji_4.rar_java课程设计

    9. **测试与调试**:学习使用JUnit进行单元测试,理解断言和调试技巧,确保代码的正确性。 10. **文档编写**:良好的编程习惯还包括编写清晰的注释和文档,便于他人理解和维护代码。 【描述】中提到这些课程设计...

    snakedemo.zip

    JUnit是一个常用的Java单元测试框架,Test类可能使用了JUnit进行断言和异常测试,确保代码的正确性和稳定性。 总的来说,"snakedemo.zip"这个压缩包提供了关于Java基础语法、面向对象编程、数据结构、流程控制、...

    JAVA程序员必读基础篇.zip

    19. **JUnit测试**:单元测试的概念,JUnit框架的使用,断言的编写。 这些只是Java基础学习中的一部分关键知识点,实际压缩包可能还包含详细的示例代码、练习题和解答,帮助读者通过实践来加深理解。对于想要深入...

Global site tag (gtag.js) - Google Analytics