这里描述了什么是mock以及如何使用它们:http://www.phpunit.de/manual/current/en/test-doubles.html
但是对于所有可能的方法,如$this->any()、$this->once()、$this->equalTo()等,都没有全面的解释
所以我正在寻找模拟生成API
PS:是的,我知道我可以在源代码中找到它,但我正在寻找一个在线API文档
发布于 2011-08-21 20:06:22
不是所有的API描述都在一个地方,而是在你给出的链接下描述的api的一部分。另一部分在"Writing Tests for PHPUnit"中可用
发布于 2011-08-22 01:43:35
Sebastian Bergmann的书"Real-World Solutions For Developing High-Quality PHP Frameworks and Applications“更详细,但主要是通过示例。命名良好的方法的好处是它们不需要全面的文档。你只需要先理解所有这些东西的概念。提示,assertThat()通常用于自定义断言中,例如,assertThat$ $this->logicalNot($this->equalTo($bar))); ->assertThat( ->with($this->equalTo('something')).,equalTo或更常见的在期望内部,如
主要的概念都有很好的文档记录,我几乎不需要深入研究源代码。例如,with()“指定要对传递的参数进行断言。在最简单的情况下,以相同的顺序调用它和你用来调用方法的val一起调用。参数包括:$this->(),$this->greaterThan($n),$this->($str),isTrue(),isFalse(),isNull(),equalTo()等。”然而,once()是从()()中调用的,它注册了一个新的期望值,例如在method()中指定的方法被期望调用的次数。参数可以是:$this->($count),once(),atLeastOnce(),(),any()或at($index)。
发布于 2011-08-22 15:18:08
对于phpunit的这一部分,saidly (documentation patches can be provided on github)的源代码是文档。
The list of all functions you use in mock objects
这些函数都返回某种类型的PHPUnit_Framework_Constraint,您也可以直接使用(尽管通过API使用是首选方式)。这些约束与"Writing Tests for PHPUnit"中描述的约束基本相同。大多数约束的名称都是相同的,比如->fileExists,但也有一些不同(_or与->logicalOr()),但您可以在源代码中快速查找这些约束。
https://stackoverflow.com/questions/7137828
复制相似问题