2017-08-14 4 views
0

私はWordPressの開発では新しいです、私は管理者が複数の著者をクリックし、ポストにデータベースのすべてのメタタグを保存することができます自分のカスタムワードプレスのプラグインがあります。それはうまく動作します。しかし、私はそのためのテストケースを生成したい。私はphpunitをインストールしましたが、私はテストケースを書く方法を知らない。Wordpressのプラグイン+ phpunitのテスト

public function testOne() 
{ 
    $this->factory->post->create(); 
} 

私はこれを試しましたが、その仕組みを理解していません。

+0

[ここ](https://phpunit.de/manual/current/en/index.html)から始めることができます。 – xmike

答えて

1

難しいことではありませんが、それは間違いありません。 https://codesymphony.co/writing-wordpress-plugin-unit-tests/

https://engineering.hmn.md/guides/writing-code/writing-tests/

PHPUnitの設定に必要なファイルを取得するために:あなたは、私はこれらのガイドは本当に重宝テスト

を実行するだけでPHPUnit用のテストWordpressのデータベースを設定する必要があります

https://core.trac.wordpress.org/browser/trunk?order=name

そして私はのために窮地に立たされました:WordPressのテスト環境まで、私は新しいWordPressのディレクトリを取得しなければなりませんでした

https://core.trac.wordpress.org/ticket/39327

そして今、私は実際にユニットテストが:)を見つけたバグを修正することができます。MySQLiをすることによりしばらくはすぐに私のユニットテストが開始されますが、これを読んだ後、設定の変更とそれを固定して失敗します。

0

まず、PHPPunit WPTestCaseと他の多くのツールを含むWordPressモジュールをCodeceptionに使用する必要があります。

ワードプレスでこのような何かをテストする2つの基本的なアプローチがあります。

は、ブラウザでそれをテストすることができます。これを受け入れテストといいます。テストしているコンセプトを証明するすべてのアクションをリストし、タスクを段階的に実行するためにブラウザ[またはブラウザシミュレータ]を実行します。結果として表示されると予想される成果物のデータベースを調べて、それが正しく起こることを証明することができます。あなたのケースでは、いくつかの投稿を設定し、複数の著者をクリックして、期待しているメタタグをデータベースでチェックしたいかもしれません。他のアプローチは、OOPのクラスであなたの行動をカプセル化することである

$I = /*am a */ new AcceptanceTester($scenario); 
$I->loginAsAdmin(); 
$I->amOnPage("/wp-admin/post-new.php"); 
$I->fillField('#content', "lorum ipsum"); 
$I->click('#publish'); 

、およびWPUnitテストツールを使用してテスト:それは何かのように見えるかもしれません。 Codeceptionは、WordPressのコアチームが使用するのと同じPHPUnitライブラリと他のツールを使用します。 WPUnitアプローチは、データベースをメモリにロードし、プラグインが機能するためのセットアップダミーポストのようなことを行うことができます。だからあなたの場合には、クラスを持っているかもしれません:

class SystemActionSaveMetaTags{ 

    public function doSaveMetaTags() 

} 

あなたがテストはここ

itShouldSaveMetaTags(){ 
    $id = wp_insert_post();  
    $SystemActionSaveMetaTags = new SystemActionSaveMetaTags; 
    $SystemActionSaveMetaTags->doSaveMetaTags($id); 
    $this->assertTrue($this->checkForCorrectMetaTags($id)); 
} 

と呼ばれるかもしれません、それはWordPressに関連する、対象のチュートリアルです: https://wp-bdd.com/wp-codeception-tutorial/

関連する問題