• 技术文章 >Java >java教程

    为什么不提供JUnit的方法assertNotEquals?

    黄舟黄舟2016-12-29 09:14:01原创849
    1. 我建议的新assertThat()样式assertions,它可以很容易地描述各种否定,并自动生成你所expect的的描述,如果assertions失败,你得到了什么:assertThat(objectUnderTest,

    is(not(someOtherObject)));
    assertThat(objectUnderTest, not(someOtherObject));
    assertThat(objectUnderTest, not(equalTo(someOtherObject)));

    所有这三个选项是等价的,选择一个你认为最可读。 简单的(并允许这种紧张的语法来工作),你需要这些导入:

    i

    mport static org.junit.Assert.*;
    import static org.hamcrest.CoreMatchers.*;

    2. 有在JUnit中4.11的assertNotEquals:
    3. 我不知道assertions的API是不太适合做测试的对象是指它提供了和 当然 CodeGo.net,这是不是太长写:

    assertFalse(foo.equals(bar));


    随着yield的这种说法部分是如此不幸应分别:

    String msg = "Expected <" + foo + "> to be unequal to <" + bar +">";
    assertFalse(msg, foo.equals(bar));

    那是当然的,使其更好地推出自己assertNotEqual。幸运的是,在未来将可能成为了JUnit的一部分:JUnit的问题22
    4. 我认为,如果没有assertNotEqual确实是一个,使JUnit的少一点可以学习的。记住,这是一个整洁的情况下,当增加会减少的API,至少有助于执政党更大的空间。 我的猜测是,对于遗漏的原因可能是因为有太multiplayer少,呼吁然而,我一个当即便assertFalse不存在,因此,我有可能最终被加了积极的expect,因为它不是一个困难的之一,尽管我承认,有解决方法,甚至是优雅的。
    5. 我对这个党已经很晚了,但我发现,格式如下:

    static void assertTrue(java.lang.String message, boolean condition)

    可向工作最'不等于'案件。

    int status = doSomething() ; // expected to return 123
    assertTrue("doSomething() returned unexpected status", status != 123 ) ;

    6. 这是更好的Hamcrest负assertions,而不是assertFalse如在测试报告中会显示一个diff的assertions失败。 如果assertFalse,你只会得到一个assertions失败的报告。即在出现故障。
    7. 究其原因,人们希望assertNotEquals()是内建命令,而无需先将它们转换为完全成熟的对象: 详细的例子:

    ....
    assertThat(1, not(equalTo(Integer.valueOf(winningBidderId))));
    ....

    assertNotEqual(1, winningBidderId);

    8. 模API的一致性,为什么是JUnit没有提供assertNotEquals()就是为什么JUnit的永远喜欢它的原因assertStringMatchesTheRegex(regex, str)与assertStringDoesntMatchTheRegex(regex, str)assertStringBeginsWith(prefix, str)与assertStringDoesntBeginWith(prefix, str)即有没有结束提供了一个具体的供种东西,你可能想在你的说法的逻辑! 更好的测试原语像equalTo(...),is(...),not(...),regex(...)并让这些作品一起,而不是更多的可读性和理智。

    以上就是为什么不提供JUnit的方法assertNotEquals? 的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:Java的实现得到,PUT,POST,删除请求 下一篇:Java内存模型深度解析:总结
    千万级数据并发解决方案

    相关文章推荐

    • java知识点详解之注解与元注解• 一起来分析java是值传递还是引用传递• 详细整理java枚举的使用总结• Java实例详解之子线程任务异常,主线程事务回滚• 一起聊聊Java常用数据类型的输入输出
    1/1

    PHP中文网