`

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单元测试

    ### JUnit单元测试详解 #### 一、JUnit简介与历史 JUnit是由Erich Gamma和Kent Beck共同开发的一个Java编程语言的单元测试框架。它最初在1998年发布,随着时间的发展,JUnit经历了多个版本的迭代,其中最知名的...

    JUnit常用断言方法.txt

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

    JUnit和设计模式.ppt

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

    JUnit常用断言方法1

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

    junit 的详细举例

    JUnit 是一个广泛使用的 Java 编程语言的单元测试框架,它允许开发者对代码进行自动化测试,确保代码的质量和功能的正确性。JUnit 提供了一套简单的 API,使得编写和执行测试变得直观且高效。 在 JUnit 3.8.2 版本...

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

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

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

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

    android手机测试入门篇

    - **JUnit 4.x**: 可以通过 `@Test(expected = Exception.class)` 直接指定期望抛出的异常类型。 **3. 测试数据驱动** - **JUnit 3.x**: 没有内置的支持。 - **JUnit 4.x**: 支持参数化测试,即通过 `@RunWith...

    Test_dload_1.rar_The Test

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

    Software Unit Testing 实验指导书

    通过本次实验,学生不仅学会了如何使用JUnit框架进行单元测试,还掌握了如何在Eclipse环境下创建项目、编写测试用例以及运行测试。这对于培养学生的实践能力和质量意识具有重要意义。未来的学习中,可以进一步探索更...

    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基础学习中的一部分关键知识点,实际压缩包可能还包含详细的示例代码、练习题和解答,帮助读者通过实践来加深理解。对于想要深入...

    java 计算器小程序

    开发者可能使用Junit或其他工具进行断言和测试,确保代码的正确性。 10. **代码注释**: 良好的代码习惯包括编写清晰的注释,解释代码的功能和逻辑,这对理解和维护代码至关重要。 总的来说,这个"Java 计算器小...

Global site tag (gtag.js) - Google Analytics