`
ruilin215
  • 浏览: 1161054 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

对比两个不同版本的assertEquals()

阅读更多

分别看一下JUnit和TestNG对assertEquals()的定义:

JUnit:

static voidassertEquals(java.lang.Object expected, java.lang.Object actual)
static void assertEquals(java.lang.String message, java.lang.Object expected, java.lang.Object actual)

TestNG:

static voidassertEquals(java.lang.Object actual, java.lang.Object expected)
static void assertEquals(java.lang.Object actual, java.lang.Object expected, java.lang.String message)

忽略各参数的类型不予考虑,重新看 actual, expected, message 这三个参数的前后顺序:

JUnit中的顺序是:(message), expected, actual。

TestNG中的顺序是:actual, expected, (message)。

这其中的细微区别是,actual(实际值)与expected(期望值)的前后顺序,当message(信息文本)存在时它与另外两个参数的相对位置。在JUnit中,message(如果它存在的话)处于优先位置,其次是expected,再次是actual;而在TestNG中,恰恰是完全相反,actual处于优先位置,其次是expected,再次是message。

相比较而言,我认为TestNG对assertEquals()的定义更符合人的思维逻辑,也就是所谓的“用户友好性”另强一些。当然这只是个人观点,见仁见智嘛。

当初我第一次看到JUnit中assertEquals()的定义时,就在想,为什么不是actual在前而expected在后?今天第一次看到TestNG对assertEquals()的定义,忽然有种“英雄所见略同”的感觉。当然现在提这一出有些“马后炮”的味道。

就凭这一点,我为TestNG叫好!

分享到:
评论

相关推荐

    junit测试包(包含两个版本)

    这个压缩包包含两个版本的JUnit——JUnit3.8.1和JUnit4.7,这两个版本在功能和使用方式上都有所不同。 **JUnit3.8.1** JUnit3是JUnit系列的早期版本,它的主要特点是基于Java 1.4或更早的版本,因此它不支持注解...

    JUnit3.X和4.X学习记录及用例

    `junit3pro`目录下的内容则可能涵盖JUnit3.8.2的详细教程和实践案例,对比学习这两个版本可以帮助你理解单元测试框架的发展历程,以及如何根据项目需求选择合适的工具。 总之,这个学习资源将带你深入理解JUnit的...

    JUnit4.zip下载

    3. `junit-4.8.2.jar`, `junit-4.7.jar`:这些是 JUnit 的早期版本,可能用于兼容旧项目或对比不同版本的功能差异。 4. `junit-4.11-sources.jar`, `junit-4.7-src.jar`:这两个文件分别提供了 JUnit 4.11 和 4.7 ...

    eclipse 简单使用

    比较功能则允许用户对比两个文件或版本之间的差异,对于代码审查和版本控制非常重要。 #### 文件历史 文件历史记录提供了文件的变更历史,包括修改的时间、作者以及具体的更改内容,这对于追踪问题根源、了解项目...

    flexunit 详细简单用例里面带有flexunit.swc包

    解压这个文件后,开发者可以查看旧版本的用法,对比不同版本之间的差异,或者在某些特定环境下使用。 总的来说,FlexUnit是一个强大的工具,对于Flex和Flash开发者来说,它是确保代码质量、提高开发效率的必备选择...

    Junit使用:适合初学者使用

    例如,`assertEquals`会对比两个参数是否相等,如果不等则测试失败。 测试中可能会遇到预期的异常情况,这时可以使用`@Test(expected = Exception.class)`注解来检查是否抛出了预期的异常。 ## 5. 测试注解 JUnit...

    junit3.8 和junit4 api

    3. **@Before和@After注解**:这两个不是JUnit 3.8的特性,但在描述中提到,所以有必要对比一下。在JUnit 3中,初始化和清理工作是通过`setUp()`和`tearDown()`方法实现的,它们会在每个测试方法之前和之后自动调用...

    Junit4教程

    下面是基于JUnit3和JUnit4编写的两个版本的测试用例对比: ##### JUnit3版本: ```java import junit.framework.TestCase; import static org.junit.Assert.*; public class AddOperationTest extends TestCase { ...

    web功能测试___grilbbs__满分答案.rar

    例如,`assertEquals()`可以检查两个值是否相等,`assertNull()`用于验证某个对象是否为null,等等。此外,测试类还常常配合Mockito等工具,模拟依赖服务,以便在孤立环境中测试目标功能。 在Web功能测试中,我们...

    testing-junit-testng

    标题与描述均提到了"Testing-JUnit-TestNG",这明确指向了软件测试领域中的两个重要的测试框架:JUnit和TestNG。这两个框架在Java开发社区中被广泛使用,用于编写自动化测试用例,以确保代码质量和功能正确性。 ###...

    SpringBoot 单元测试JUnit的使用详解

    1、`Assert.assertEquals`:对比两个值相等。 2、`Assert.assertNotEquals`:对比两个值不相等。 3、`Assert.assertSame`:对比两个对象的引用相等。 4、`Assert.assertArrayEquals`:对比两个数组相等。 5、`Assert...

    Java Unit Test 和 XML 类加载器

    3. 配置文件版本控制:随着项目发展,不同版本的配置文件应妥善管理,便于回溯和对比。 4. 验证配置:使用XML Schema或DTD来确保配置文件的正确性。 综上所述,Java Unit Test和XML类加载器在Java开发中起着至关...

    1小时学会JUnit4,学不会找我

    - `@BeforeClass`和`@AfterClass`:这两个注解的方法会在所有测试方法之前和之后分别只执行一次,适合进行一次性设置和清理操作。 - `@Ignore`:可以忽略某个不想运行的测试方法。 - `@Test(timeout = N)`:为测试...

    Java几种常用的断言风格你怎么选

    相比于Hamcrest的断言风格,在日常工作中综合对比发现AssertJ的更加清晰,毕竟AssertJ中assertThat只需要接收一个参数,而不用关注括号是否对齐的问题。 02 BDD风格 BDD风格是一种测试风格,强调测试代码的可读性...

Global site tag (gtag.js) - Google Analytics