Tôi đang tìm cách kết hợp một khuôn khổ thử nghiệm vào một dự án mà tôi đang xây dựng và đã xem qua số Enhance PHP mà tôi thích nhưng tôi gặp khó khăn trong việc tìm kiếm thông tin có liên quan trực tuyến kể từ khi "nâng cao php" một cụm từ thường được sử dụng.Bắt đầu với "Nâng cao PHP"
Có ai đã làm việc với khuôn khổ này có thể chỉ cho tôi hướng dẫn một số hướng dẫn hữu ích không? Bạn đã từng làm việc với một khung kiểm thử đơn vị mà bạn nghĩ là tốt hơn đáng kinh ngạc chưa?
Xin cảm ơn trước.
Để đối phó với Gotzofter, đây là lớp học để được kiểm tra:
<?php
include_once('EnhanceTestFramework.php');
class ExampleClass
{
private $OtherClass;
function __construct($mock = null)
{
if ($mock == null)
$this->OtherClass = new OtherExampleClass();
else
$this->OtherClass = $mock;
}
public function doSomething()
{
return $this->OtherClass->getSomething(1, 'Arg2');
}
}
class OtherExampleClass
{
public function getSomething()
{
return "Something";
}
}
class ExampleClassTests extends \Enhance\TestFixture
{
public function setUp()
{
}
public function tearDown()
{
}
public function verifyWithAMock()
{
$mock = \Enhance\MockFactory::createMock('OtherExampleClass');
$mock->addExpectation(
\Enhance\Expect::method('getSomething')
->with(1, 'Arg2')
->returns('Something')
->times(1)
);
$target = new ExampleClass($mock);
$result = $target->doSomething();
\Enhance\Assert::areIdentical("Something", $result);
$mock->verifyExpectations();
}
}
\Enhance\Core::runTests();
nhìn vào constructor của tôi cho ExampleClass. Bởi vì ví dụ trang web nâng cao-php tiêm đối tượng $ giả bằng cách gọi mới ExampleClass ($ mock), tôi buộc phải thay đổi hàm tạo của ExampleClass để xử lý $ mock làm tham số đầu vào.
Tôi có phải xử lý điều này cho tất cả các lớp mà tôi muốn kiểm tra đơn vị với khung không?
Cảm ơn.
[enhanced-php.com] (http://www.enhance-php.com) chứa [Hướng dẫn bắt đầu nhanh] (http://www.enhance-php.com/Content/Quick-Start-Guide /) và nó cũng có vẻ như họ có [tài liệu phong nha về tất cả các tính năng chính] (http://www.enhance-php.com/Content/Documentation/). Chính xác những gì bạn đang tìm kiếm vượt ra ngoài đó? –
[PHPUnit] (http://phpunit.de) là khung kiểm tra đơn vị defacto. TBH Tôi chưa bao giờ nghe nói về Enhance (đừng coi đó là một cảnh quay rẻ tiền, chỉ là trung thực). –
@Colin - Có lẽ tôi không hiểu cách sử dụng Mock. Làm theo hướng dẫn trong hướng dẫn đó tôi không nhận được kết quả mong đợi. Tôi sẽ thêm một số mã vào bài đăng gốc – baiano