当我创建一个新的模拟时,我需要调用expected方法.到底是做什么的?它的论点怎么样?
$todoListMock = $this->getMock('\Model\Todo_List');
$todoListMock->expects($this->any())
->method('getItems')
->will($this->returnValue(array($itemMock)));
Run Code Online (Sandbox Code Playgroud)
我找不到任何原因(我试过docs).我已经阅读了这些消息来源,但我无法理解.谢谢.
我的网站将有一个高级搜索.人们可以去那里寻找一个权利(例如汽车).我已经创建了一些测试,根据搜索参数检查结果的数量.我想我应该写什么测试,然后我写它,然后我将数据添加到测试数据库.但问题来了.当我向数据库插入新值时,我的旧测试会中断.那是因为我正在检查记录的数量......
<?php defined('SYSPATH') or die('No direct access allowed!');
class Search_Test extends PHPUnit_Extensions_Database_TestCase
{
/**
* @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
*/
public function getConnection()
{
$pdo = new PDO('mysql:dbname=db_test;host=127.0.0.1', 'root', null);
return $this->createDefaultDBConnection($pdo, 'db_test');
}
/**
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
*/
public function getDataSet()
{
$fixture = realpath(dirname(__FILE__).'/../data/fixture.xml');
return $this->createXMLDataSet($fixture);
}
public function numberOfResultsDataProvider()
{
return array(
array(1, null, null, 1),
array(2, null, null, 3),
array(3, null, null, 0),
array('abc', null, null, 5),
array(null, 1996, 2003, 3),
array(null, 1996, 1999, 2),
array(null, 2002, 2003, …Run Code Online (Sandbox Code Playgroud)