0

現在、PHPUnit を Magento と連携させようとしています。Web のいくつかの場所では、人々が EcomDev の拡張機能を推奨しているので、試してみました。

このチュートリアルに書かれているようなセットアップ例を作成します。EcomDev_Example_... を Test_JustTest_... に置き換えただけです。

ただし、正常に機能せず、間違った config.xml にデータを入れたと思います。現時点では、モジュール名を /app/code/local/Test/JustTest/etc/config.xml と拡張機能の config.xml に書き留めて、別のことを試してみました。PHPUnit を実行することはできますが、実行するテストがないと常に表示されます。

Google で多くの時間を費やしたので、より詳細な例が見つかりませんでした

4

1 に答える 1

1

私は同じ問題に直面していましたが、今ではうまくいきました。app/code/local/Namespace/Module/etc/config.xmlを作成しました:

<?xml version="1.0"?>
<config>
    <phpunit>
        <suite>
            <modules>
                <Namespace_Module/>
            </modules>
        </suite>
    </phpunit>
    <modules>
        <namespace_module>
            <version>0.1</version>
        </namespace_module>
    </modules>
    <global>
        <models>
            <eav>
                <rewrite>
                    <entity_increment_numeric>Namespace_Module_Model_Entity_Increment_Numeric</entity_increment_numeric>
                </rewrite>
            </eav>
        </models>
    </global>
</config>

実際、これらの名前は Namespace_Module ではありません。表示するために置き換えただけです。これは、magento の数値モデルをオーバーライドするモジュールですが、大きな違いはありません。

私のテストが app/code/local/Namespace/Module/Test/Model/Entity/Increment/Numeric.phpの下にあることを確認してください

次のようになります。

<?php
class Namespace_Module_Test_Model_Entity_Increment_Numeric extends EcomDev_PHPUnit_Test_Case
{

    /**
    * Test Next Id Never Returns zero
    *
    * @test
    */
    public function testGetNextIdNeverReturnsZero(){   
        $this->assertTrue(true);
    }
}

すべての設定が完了したら、コンソール/ターミナルで次のコマンドを使用してテストを実行する必要があります。

phpunit UnitTests.php

他のモデルと同様に、app/etc/modules に Namespace_Module.xml を追加して、モジュールを有効にする必要があることに注意してください。私の間違いは、モデルの Test ではなく Tests としてフォルダーに名前を付けたことです。私はあなたが同じことをしているとは思わない...

とにかく、お役に立てば幸いです。詳細については、マニュアルが大いに役立ちます。

于 2012-11-23T10:12:52.553 に答える