8

私はPHPでのテストにやや慣れていません。私は、Cucumber、RSpec、Capybara、Factory Girl を使用して Rails でかなりのテストを行いましたが、PHP でのテストはほとんど行っていません。

私はいくつかの特定の道をたどり、フラストレーションしか感じなかったので、現在の課題について可能な限り一般的な方法で質問します。

ユーザーをサインインさせるための機能テストを作成したいと考えています。サインインを試行するために必要なテスト ユーザー オブジェクトを作成する適切な方法は何ですか?

さらに一般的に言えば、Symfony2 でテスト オブジェクトを作成するためのデファクト スタンダードは何ですか? 備品?何かの工場?

Ruby では、オブジェクトの依存関係をクリーンで DRY な方法で処理できるようにするため、Factory Girl を使用します。Phactory の PHP には Factory Girl に相当するものがあるようですが、残念ながらそのツールは広く使用されておらず、メンテナンスもされていないようです。

4

3 に答える 3

0

私は機能テストにフィクスチャを使用していますが、それらがアプリケーション全体のみであることに同意しません。バンドル全体で使用しており、バンドル内の適切なdirで定義されています。テストセットアップでは、適切なディレクトリからコンソールフィクスチャ:ロードメソッドを実行しますが、最善の解決策ではないかもしれませんが、それは私にとってはうまくいきます。誰かがより良い解決策を持っているなら、私はそれについて喜んで読むでしょう:)

于 2012-11-07T11:02:29.473 に答える
0

定型文はほとんどないので、私は自分でテスト データ ビルダーを作成するだけです。ところで、Factory Girl はまさにそのパターンの実装です。

このパターンに関する優れた議論や、 Growing Object-Oriented Software, Guided by Testsという本には、その他の多くの有用な情報があります。

また、フィクスチャはアプリケーション全体に適用されるため、フィクスチャは使用しないことをお勧めします。各テストは、それ自体に必要なデータのみを準備することをお勧めします。

于 2012-11-06T16:47:54.710 に答える
0

テスト環境構成のフィクスチャは、 おそらく進むべき道です!

フィクスチャがアプリケーション全体のコメントであることについて、私は同意しません。

単体テストを行っている場合、おそらくそれは非常に理にかなっています。

ただし、機能テストはアプリケーション全体であると想定されています。

于 2012-11-06T17:20:03.093 に答える