0

PHPUnit から次のエラーを取得します。

Fatal error: Class 'FoobarTest\Money\Money'
not found in /www/foobar/tests/FoobarTest/Money/MoneyTest.php on line 11

私の構造は次のようなものです:

/src/Foobar/Money/Money.php (class Money, namespace Foobar\Money)

/tests/FoobarTest/Money/Money.php (class Money, namespace FoobarTest\Money)

composer を介して行われるオートロード:

"autoload": {
    "psr-4": {
        "Foobar\\": "src/"
    },
    "psr-0": {
        "FoobarTest\\": "tests/"
    }
},

PSR0、PSR2、PSR4、...で試しました

MoneyTest クラス:

<?php
namespace FoobarTest\Money;


class MoneyTest extends \PHPUnit_Framework_TestCase
{
    // ...

マネークラス:

<?php
namespace Foobar\Money;


class Money
{
    // ...

FoobarTest\Money\Moneyの代わりにロードしようとしているのはなぜFoobar\Money\Moneyですか?

4

1 に答える 1

1

PHP オートローダー (およびコンポーザー) を支援するには、次を使用してターゲット クラスをインポートする必要があります。

use Foobar\Money\Money;

テストファイルで。

MoneyTest.phpまた、対応するクラス名に一致する名前をテスト ファイルに付けたいと思うでしょう。

于 2014-12-01T22:04:39.250 に答える