1
我寫我的課測試,但我收到此錯誤:PHPUnit的斷言如果兩個數組相等
PHPUnit_Framework_MockObject_Builder_InvocationMocker Object (...) does not match expected type "array".
我的測試類:
<?php
namespace User\UserBundle\Tests\Dto\Template;
use User\UserBundle\Dto\Template\GenerateReportsTemplate;
use User\UserBundle\Doctrine\DatabaseRepository;
use User\UserBundle\Validation\ValidationClass;
class GenerateReportsTemplateTest extends \PHPUnit_Framework_TestCase
{
public static $reportData = array
(
'rowid' => '',
'emailaddress' => '',
'firstname' => '',
'surname' => '',
'contact_number' => '',
);
protected $object;
public $validate;
public $db;
protected function setUp()
{
$this->validate = $this->getMockBuilder('User\UserBundle\Validation\ValidationClass')
->disableOriginalConstructor()
->getMock();
$this->db = $this->getMockBuilder('User\UserBundle\UFODoctrine\DatabaseRepository')
->disableOriginalConstructor()
->getMock();
$this->object = $this->createGenerateReportsTemplateInstance();
}
public function createGenerateReportsTemplateInstance()
{
return new GenerateReportsTemplate
(
$this->validate,
$this->db
);
}
public function reportTestData()
{
}
public function testGenerateReports()
{
$data = array
(
'rowid' => '',
'emailaddress' => '',
'firstname' => '',
'surname' => '',
'contact_number' => '',
);
$report = $this->db->expects($this->any())
->method('getReportData')
->will($this->returnValue(self::$reportData));
$this->assertEquals($data, $report);
}
}
我要檢查什麼樣本數據等於由存根方法返回的數據getReportData
我相信存根返回對象,我想比較它與數組,如果多數民衆贊成在什麼情況下我怎麼能斷言兩個...?
Ps。我使用的Symfony2和PHPUnit的
葉對不起數組對象是什麼:P無論是方式只是想你的解決方案,我得到'調用未定義的方法PHPUnit_Framework_MockObject_Builder_InvocationMocker :: getReportData()' – John
嘗試改變斷言:'$這個 - >的assertEquals($數據,$這個 - >對象 - > {} YOUR_METHOD_HERE()) ;' – hasumedic
不得不添加PARAMS以及但是它的工作原理;)THX – John