2012-09-27 19 views
8

ノーは@assert注釈が phpunit 3.7:@assertアノテーションに何が起こったのですか?

official announcementが言及ある3.7, Appendix B, の文書において

  • 一方、@assert 注釈がある3.6, Appendix B,のドキュメントで

    • 3.7をphpunitましたいくつかの新しいアノテーション(以前は廃止されていた古いアノテーションの再導入) oesは@assertの削除について言及していません。 changelog for 3.7.で 、@assertは、ページ

      で発見されるべきではなく、私はcode snippet

      <?php 
      class MyMathClass 
      { 
          /** 
          * Add two given values together and return sum 
          * @assert (1,2) == 3 
          */ 
          public function addValues($a,$b) 
          { 
           return $a+$b; 
          } 
      } 
      

      を使用して、クラスの私のコードを実行すると、出力は、PHP 3.6で

      PHPUnit 3.7.1 by Sebastian Bergmann. 
      
      
      
      Time: 1 second, Memory: 4.25Mb 
      
      No tests executed! 
      

      です。 2

      phpunit MyMathClass.php 
      PHPUnit 3.6.12 by Sebastian Bergmann. 
      
      . 
      
      Time: 0 seconds, Memory: 2.75Mb 
      
      OK (1 test, 1 assertion) 
      
  • +1

    私は '@ assert'アノテーションがテストスケルトンを生成するためにのみ使われていると思っていました。セバスチャンがその機能を非難していたことを思い出しています。明らかに私は最初の部分について間違っている。 。 。 –

    +1

    '--debug'でphpunit 3.6を実行すると' Starting test 'MyMathClassTest :: testAddValues'という出力が表示されます。これはスケルトンジェネレータを実行しているように見えます。その関数化されていない私は、メンテナーがこの機能をあきらめることが大丈夫だと感じているからです。 –

    答えて

    5

    研究をした後に自分の質問に答える。そして私を軌道に乗せるコメント者のおかげです。

    (オプション) PHPUnit_SkeletonGeneratorパッケージに移動されたため、アノテーションは削除されました。このとき

    、2つの紛らわしい問題がこれであります

    1. ドキュメントは

    適切に更新されていないされている

  • PHPUnitの「コア」から@assert注釈の除去変更ログは不正確です。それは間違っていると言います:

    廃止された廃止された - スケルトンクラスと - スケルトンテストスイッチが削除されました。 機能は、 PHPUnit_SkeletonGeneratorパッケージのphpunit-skelコマンドによって提供されています。

    、これはより多くのこのような音だろうというのがより良い方法:

    削除クラス--skeletonと--skeletonテストスイッチ非推奨。 機能は、PHPUnit_SkeletonGeneratorパッケージのオプションのphpunit-skelgen コマンドによって提供されています。 したがって、@assertアノテーションはphpunitコアから削除されています。 PEAR経由でPHPUnit_SkeletonGeneratorをインストールした後で利用可能になります。

    多分私はgithub経由でこれを変更し、メンテナーに通知します。

  • +0

    +1と回答を書いてくれてありがとう!私は昨日この質問を見て、それをオフラインでデバッグするのと同じ結論に達しました。私はこのBCブレークを気づいていませんでした(申し訳ありません!)、これについてのテストが行​​われている間は、テストが実行されなかったようです。私は(時間的制約のために)振る舞いを変えたコードを見つけることができませんでしたが、PHPUnitでチケットを開いたり、プルリクエストをdocs(readmeやmanual)に送ってくれれば偉大な:) - 私に知らせていない場合、私はそれを自分自身で見ていきます。 ---明らかにするには:スケルゲンをインストールした後、それはあなたの前に好きですか? :) – edorian

    関連する問題