You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Task_Runner_Local_Test.php 1.6 KiB

3 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * PhpUnderControl_TaskRunnerLocal_Test
  4. *
  5. * 针对 ../../Runner/Local.php Task_Runner_Local 类的PHPUnit单元测试
  6. *
  7. * @author: dogstar 20150516
  8. */
  9. require_once dirname(__FILE__) . '/../test_env.php';
  10. if (!class_exists('Task_Runner_Local')) {
  11. require dirname(__FILE__) . '/../../Runner/Local.php';
  12. }
  13. class PhpUnderControl_TaskRunnerLocal_Test extends PHPUnit_Framework_TestCase
  14. {
  15. public $taskRunnerLocal;
  16. public $mq;
  17. protected function setUp()
  18. {
  19. parent::setUp();
  20. $this->mq = new Task_MQ_Array();
  21. $this->taskRunnerLocal = new Task_Runner_Local($this->mq);
  22. }
  23. protected function tearDown()
  24. {
  25. }
  26. public function testHere()
  27. {
  28. $service1 = 'TestTaskDemo.Update1';
  29. $this->mq->add($service1, array('name' => 'phalapi'));
  30. $this->mq->add($service1, array('name' => 'net'));
  31. $service2 = 'TestTaskDemo.Update2';
  32. $this->mq->add($service2, array('id' => 1));
  33. $rs = $this->taskRunnerLocal->go($service1);
  34. $this->assertEquals(2, $rs['total']);
  35. $this->assertEquals(0, $rs['fail']);
  36. $rs = $this->taskRunnerLocal->go($service2);
  37. $this->assertEquals(1, $rs['total']);
  38. $this->assertEquals(1, $rs['fail']);
  39. $rs = $this->taskRunnerLocal->go('TestTaskDemo.Update3');
  40. $this->assertEquals(0, $rs['total']);
  41. $this->assertEquals(0, $rs['fail']);
  42. }
  43. }
  44. class Api_TestTaskDemo extends PhalApi_Api {
  45. public function update1() {
  46. return array('code' => 0);
  47. }
  48. public function update2() {
  49. throw new PhalApi_Exception_InternalServerError('just for test');
  50. }
  51. }