2010-07-22 16 views

Trả lời

8

Nếu bạn đang yêu cầu làm thế nào để viết một bài kiểm tra đơn vị cho một nhiệm vụ hơn trước hết bạn cần phải khởi tạo cấu hình:

$configuration = ProjectConfiguration::hasActive() ? ProjectConfiguration::getActive() : new ProjectConfiguration(realpath($_test_dir . ‘/..’)); 

Sau đó, khi nhiệm vụ chỉ là lớp học, bạn có thể dễ dàng khởi tạo chúng và thử nghiệm:

$task = new myTask($configuration->getEventDispatcher(), new sfFormatter()); 
$task->run($argumentsArray, $optionsArray); 

Tuy nhiên, tôi nghĩ tốt hơn nên đặt logic nhiệm vụ thành các lớp riêng biệt và sử dụng chúng trong phương thức execute() của nhiệm vụ. Nó thậm chí còn dễ dàng hơn để thử nghiệm theo cách này.

Các vấn đề liên quan