プラグインのUnitTest

  • ページ: BugTrack2
  • 投稿者: korokke?
  • 優先順位: 低
  • 状態: 提案
  • カテゴリー: その他
  • 投稿日: 2006-02-19 (日) 09:11:52
  • バージョン:

メッセージ

プラグインのUnitTestはどう行えば可能でしょうか? 何かアイデアのある方よろしくおねがいします。


  • okkez:日記/2005-07-24に以前サンプルを書きました。ただし、PHP4向けです。 -- okkez 2006-02-19 (日) 14:47:04
  • なんかあったはず、と思って検索したらありました。BugTrack2/113 -- okkez 2006-02-19 (日) 17:15:24
  • 暫くして話題が育たないようなら、BugTrack2/113 に集めましょう。今まで本体のUnitTestの話題はそこはかとなく出ていて(しかし本気の人があまりいなくて)、かつ本体のコードがテストしやすい形に作られているわけでもないアレな状態なわけですが、プラグイン作者の視点で実施するというのは面白いですね。 -- henoheno 2006-02-19 (日) 23:27:04
    • プラグイン呼び出しを行うライブラリや、最低限の設定だけ事前に定義しておけば、blockおよびinline型のpluginはAssertできると思います。プラグイン内部で使うユーティリティ関数もテスト可能でしょう。 -- henoheno 2006-02-19 (日) 23:31:02
    • それで、プラグインを呼び出す部分も、"&color(#aaa,#bbb){test};" のような文字列で定義できるようになると使いやすいでしょうね。ああこれは既存の関数でできるかな? -- henoheno 2006-02-19 (日) 23:32:31
       class PkwkPluginColorTest extends PHPUnit_TestCase
       {
         function PkwkPluginColorTest($name) { $this->PHPUnit_TestCase($name); }
      
         function test_color()
         {
           // Usage
           $usage = '&color(foreground[,background]){text};';
           $this->assertEquals($usage, something('&color(){test};'));
      
           // Foreground only
           $this->assertEquals(
             '<span style="color:#aaa">test</span>',
             something('&color(#aaa){test};'));
      
           // Background only
           $this->assertEquals(
             '<span style="background-color:#bbb">test</span>',
             something('&color(,#bbb){test};'));
      
           // Both
           $this->assertEquals(
             '<span style="color:#aaa; background-color:#bbb">test</span>',
             something('&color(#aaa,#bbb){test};'));
         }
       }
    • 長くなるので略。 -- henoheno 2006-02-19 (日) 23:46:17
  • プラグインついでに、プラグイン/開発者向け にある、class スタイルのプラグインは書けないのでしょうか?class スタイルになると UnitTest もまたちょっと違ってきてしまうので対応する気があるのなら、それも考慮して進めていったほうがいいかも。 -- 2006-02-20 (月) 01:20:30


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-07-16 (日) 03:24:01
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.282 sec.

OSDN