2014-12-01 44 views
0

收到以下錯誤形式的PHPUnit:類未發現問題(作曲,PHPUnit的)

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

我的結構是這樣的:

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

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

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

自動加載通過作曲家完成試用PSR0,PSR2,PSR4,...

MoneyTest類:

<?php 
namespace FoobarTest\Money; 


class MoneyTest extends \PHPUnit_Framework_TestCase 
{ 
    // ... 

Money類:

<?php 
namespace Foobar\Money; 


class Money 
{ 
    // ... 

爲什麼試圖加載FoobarTest\Money\Money代替Foobar\Money\Money

+1

那麼如何在測試中使用'Money'類?我沒有看到你用'use'導入了它。 – zerkms 2014-12-01 22:01:58

+0

lulz * aaaah * ...這是我一直在尋找的@zerkms提示 – DanFromGermany 2014-12-01 22:03:48

回答

1

爲了幫助PHP自動加載磁帶機(作曲家)必須導入使用

use Foobar\Money\Money; 

目標類在您的測試文件。

此外,您可能還想給測試文件一個MoneyTest.php名稱以匹配相應的類名稱。

+0

我在'FoobarTest \ ...'內使用'Foobar \ Money \ Money'而未聲明完整的合格類參考。 – DanFromGermany 2014-12-01 22:06:15

+1

「* OK(1 test,1 assertion)*」:-))) – DanFromGermany 2014-12-01 22:06:53