2

Magento での単体テストに EcomDev_PHPUnit パッケージを使用しようとしていますが、構成に問題がありました。問題と私のために働いた解決策をここに投稿しました-

MAGENTO.stackexchange.com -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)

アサートが失敗し、テスト ケースが最終的に失敗することを期待していました...なぜ合格するのでしょうか? 何かが本当に間違っています...TrueはFalseと同じにすることはできません:(そして、テストケースも2回実行されますか?理由はわかりません....

4

1 に答える 1

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');
}
于 2013-11-18T14:57:21.020 に答える