2013-07-26 68 views
2

我想在Magento上使用EcomDev_PHPUnit包進行單元測試,並且在配置它時遇到了一些問題。我已經發布了這個問題,並在這裏爲我工作的解決方案 -Magento phpunit斷言 - assertEquals(true,false)

MAGENTO.stackexchange.com-Pointers to write unit test cases using EcomDev_PHPUnit

現在,我有一個非常通用的問題,

class Webservice_Clientservice_Test_Model_ClientserviceimplTest extends EcomDev_PHPUnit_Test_Case{ 

    public function testBasicFunctionality(){ 
     try{ 
      //Mage::log("testBasicFunctinality"); 
      $this->assertSame(true,false); 
     }catch(Exception $e){ 
      Mage::logException($e); 
     } 
    } 

} 

當我運行使用

phpunit --group Webservice_Clientservice 
這個測試

我收到以下信息,

phpunit --group Webservice_Clientservice 
PHPUnit 3.7.22 by Sebastian Bergmann. 

Configuration read from /mnt/www/dev.magento.com/phpunit.xml.dist 

.. 

Time: 3 seconds, Memory: 22.25Mb 

OK (2 tests, 2 assertions) 

我在期待斷言會失敗,測試用例最終會失敗......它是如何通過的?有些東西真的是錯的......真的不能等於假:(而且,測試用例也運行兩次?我不知道爲什麼......

+0

你找出一個解決方案 –

+0

哪裏是'@group '註釋? – sectus

回答

1

如果你用try catch包裝一個測試,測試將不會失敗

// failing test 
public function testFail() { 
    $this->assertSame(true, false); 
} 

// successful test 
public function testSuccess() { 
    try { 
     $this->assertSame(true, false); 
    } catch (Exception $e) { 
     echo "go on"; 
    } 
} 

如果你想迫使測試失敗,你可以使用fail方法:?

public function testForceFail() { 
    $this->fail('Failed Yeah'); 
}