2016-03-18 29 views
1

也許有人可以幫助我在這裏。我無法獲得以下PHPUnit測試的工作。PHPUnit找不到我的PHP文件,命名空間問題?

在C:\ WAMP \ WWW \統計我有一個文件Baseball.php

<?php 
namespace stats; 
class Baseball 
{ 
    /** 
    * 
    * Add two given values together and divide by 2 
    * 
    */ 
    public function calc_avg($ab,$hits) 
    { 
     if ($ab == 0) 
     { 
      $avg = "0.000"; 
     } 
     else 
     { 
      $avg = $hits/$ab; 
     } 
     return $avg; 
    } 

    /** 
... 
... 
... 

在C:\ WAMP \ WWW \統計\測試有測試文件BaseballTest.php

<?php 
namespace stats\Test; 

use stats\Baseball; 

class BaseballTest extends \PHPUnit_Framework_TestCase 
{ 

    public function testCalcAvgEquals() { 

     $atbats = 389; 
     $hits = 129; 
     $baseball = new Baseball(); 
     $result = $baseball->calc_avg($atbats, $hits); 
     $expectedresult = $hits/$atbats; 
     $this->assertEquals($expectedresult, $result); 

    } 


} 

它來自Lynda.com教程,它確實爲那個人工作,但不適合我。當我運行

>cd C:\wamp\www\stats\ 
>phpunit 

我得到以下錯誤:

Fatal error: Class 'stats\Baseball' not found in C:\wamp\www\stats\Test\Baseball 
Test.php on line 14 

這是一些命名空間問題,我遇到了在這裏..?我不出來...

回答

0

好,顯然即使您使用「使用」你還必須包括文件...

我加入這行我BaseballTest.php:

include '/Baseball.php'; 

現在它的工作。

+0

我使用include_once或require_once語句比簡單的include/require更多。如果您嘗試第二次包含/需要該文件,則一次將防止錯誤。另外,如果您試圖包含的文件缺失,並且無法加載,那麼require會產生錯誤,這有助於您在開發時更早識別錯誤。 –