0

我正在尝试测试 php-activerecord,它有一些测试。运行时:

phpunit sometestname

没啥事儿。我检查了代码,

include 'helpers/config.php';

require_once dirname(__FILE__) . '/../lib/Inflector.php';

class InflectorTest extends SnakeCase_PHPUnit_Framework_TestCase

{
    public function set_up()
    {
        $this->inflector = ActiveRecord\Inflector::instance();
    }

    public function testOne()
    {
        $this->assertTrue(2+2==4);
    }

任何的想法?

在此处输入图像描述

4

1 回答 1

5

您的 PHPUnit 版本有点过时了。让我们确保您是最新的。请做

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com

进而

pear install --force --alldeps phpunit/PHPUnit again

这应该导致

downloading PHPUnit-3.5.13.tgz ...
Starting to download PHPUnit-3.5.13.tgz (118,553 bytes)
..........................done: 118,553 bytes
install ok: channel://pear.phpunit.de/PHPUnit-3.5.13

如果有任何错误,请尝试将您的 PEAR 版本升级到当前版本

pear upgrade-all

PHPActiveRecord 的测试助手的DocBlock 说

/**
* In order to run these unit tests, you need to install:
* - PHPUnit
* - PEAR Log (otherwise logging SQL queries will be disabled)
* - Memcache (otherwise Caching tests will not be executed)
*
* To run all tests : phpunit AllTests.php --slow-tests
* To run a specific test : phpunit ????Test.php
*/

但是对于 Log 依赖项,其中有两个被抑制的包含

@include_once 'Log.php';
@include_once 'Log/file.php';

这可能是您在 CLI 上根本没有得到任何结果的原因,所以请确保您也这样做

pear install --force --alldeps Log

那应该可以。

编辑:可从 PHPActiveRecord 网站获得的 1.0 版本没有上述 DocBlock 并require_once用于 Log 依赖项。这在当前主版本中已更改,因此您可能想尝试 nightly 或从 GitHub 中查看主分支:

于 2011-04-03T11:15:16.057 回答