gpt4 book ai didi

php - Zend Studio 和 PHPUnit 入门问题

转载 作者:行者123 更新时间:2023-12-04 06:27:21 25 4
gpt4 key购买 nike

我正在尝试创建我的第一个单元测试。我使用 Zend Studio,并通过以下方式将 phpUnit 库添加到我的项目中:
Project -> Properties -> Add Library
当我将它作为 PHP 单元测试运行时,出现以下错误:
Unable to run a PHPUnit session. Only PHPUNIT classes can be run as PHPUnit tests. Reason: Not tests found in IndexControllerTest.php
IndexControllerTest.php:

<?php
require_once 'application\controllers\IndexController.php';
require_once 'PHPUnit\Framework\TestCase.php';
/**
* IndexController test case.
*/
class IndexControllerTest extends PHPUnit_Framework_TestCase
{
/**
* @var IndexController
*/
private $IndexController;
/**
* Prepares the environment before running a test.
*/
protected function setUp ()
{
parent::setUp();
// TODO Auto-generated IndexControllerTest::setUp()
$this->IndexController = new IndexController(/* parameters */);
}
/**
* Cleans up the environment after running a test.
*/
protected function tearDown ()
{
// TODO Auto-generated IndexControllerTest::tearDown()
$this->IndexController = null;
parent::tearDown();
}
/**
* Constructs the test case.
*/
public function __construct ()
{
// TODO Auto-generated constructor
}
/**
* Tests IndexController->init()
*/
public function testInit ()
{
// TODO Auto-generated IndexControllerTest->testInit()
$this->markTestIncomplete("init test not implemented");
$this->IndexController->init(/* parameters */);
}
/**
* Tests IndexController->indexAction()
*/
public function testIndexAction ()
{
// TODO Auto-generated IndexControllerTest->testIndexAction()
$this->markTestIncomplete("indexAction test not implemented");
$this->IndexController->indexAction(/* parameters */);
}
}

我该如何解决?

最佳答案

您必须删除测试用例的 __construct()方法。 PHPUnit 将参数传递给构造函数,因此您必须将它们传递给 parent::__construct()或者——更有可能——完全删除构造函数。

此外,如果您正在使用 Zend Framework 并进行测试 Zend_Controller_Action类,您可能需要考虑使用 Zend_Test_PHPUnit_ControllerTestCase 因为它为您提供了很多脚手架。请注意,每个测试都将从一条路径直接进入渲染内容,这可能不足以满足您的需求。它不适合我们,所以我分别为 Controller 和 View 创建了基本测试用例类。

关于php - Zend Studio 和 PHPUnit 入门问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com