downshiftorg/refute-assert

使用 refuteX 术语代替 assertNotX 进行 PHPUnit 断言,并增加一些额外的 assert/refute 对。

2.0.0 2018-01-16 17:21 UTC

This package is not auto-updated.

Last update: 2024-09-15 04:47:22 UTC


README

PHPUnit 很棒。但是记住断言的 逆序 真的很困难。我相信Sebastian的疯狂中一定有某种方法,但我无法找出它是什么。看看这些例子

<?php

$this->assertNotContainsOnly();
$this->assertClassNotHasStaticAttribute();
$this->assertStringEndsNotWith();

记住在哪里放置 Not 真的很困难。

##解决方案:Refute

RefuteAssert 将所有的 assert*Not* 断言逆序别名到 refuteX。所以现在我们可以输入

<?php

$this->refuteContainsOnly();
$this->refuteClassHasStaticAttribute();
$this->refuteStringEndsWith();

这保持了API的完美一致性,读起来非常流畅,更容易记住,并且有额外的优点是 assertrefute 有相同数量的字符,这使得你的测试方法看起来更干净。向 Buster.js 致谢这个想法。

##安装

通过 Composer 拉取包。

{
    "require": {
        "downshiftorg/refute-assert": "0.1.*"
    }
}

然后,只需在一个扩展 PHPUnit_Framework_TestCase 的 TestCase 类中使用 RefuteAssert 特性。如果你还没有这样的类,创建一个,否则只需将其特性添加到现有的子类中。以下是一个示例

<?php

namespace Acme\Foo;

class MyTestCase extends \PHPUnit_Framework_Testcase {

	use \DownShift\RefuteAssert\RefuteAssert;

}