2016-12-02 3 views
0

これはちょっと変わった質問ですが、私はグーグルで尋ねましたが、何の質問もしていませんでした(でも間違った質問をしています)。Capybara AutomationとFactoryGirlを使用してテスト状態を中断する

私は工場を使って統合テストを書き直しています(おもしろいです、そしてこのサイトの上級者に助けてくれてありがとう!)。しかし、私はかなりスクリーンショットに頼って、テストで何が起こりたいのかを確認しています。

私はテストデータベース(具体的にはSQlite)を使用していますが、工場を使用しているので、テストが終了するとデータはもちろん削除されるため、これは起こらなかったようです。テスト環境を使用してサーバーを稼働させると、実際にデータを「手動で」検証することはできません。

手動でデータを確認できる良い方法はありますか?終わりにテストRIGHTを停止するか、一時的に一時停止するようにしますか?私は巨大な睡眠をとることができると思うが...確かに良い方法がある?

+0

でナビゲートすることができます。「手動で検証」してテストに組み込むことを検討しましたか? – zetetic

+0

私は通常、特定の値をアサートしますが、実際にアプリケーション内のすべての外観を物理的に見ることができるのは安心です。 – msmith1114

+0

私は逆のアプローチを勧めるでしょう:あなたのテストを信頼してください。テストをすべて緑色にすると、すべてがうまくいくという自信があります。そうでない場合は、修正してください。 あなたのテストについてあなたが気にしていないのであれば、あなたはいつもそれらを推測しています。 – zetetic

答えて

1

しかし、あなたのテストではブレークポイントがあり、それからあなたはdbを照会するようなコマンドを使用します。

私は、あなたが単にテストでライン binding.pryを入れて、それが端末内にあっ凍結すると、あなたが変数を確認することができ、 User.allまたは User.countのようなDBの呼び出しを行うと、あなたはまた、追加した場合、私のGemfile

gem 'pry-rails'を使用

pry-navnextstepcontinueなど

+0

私はこれを考えましたが、私はそれを設定する上でまともなガイドを見つけたことはありません。文字通り宝石を含むだけで、それからテストファイル内のbinding.pryを呼び出します。 – msmith1114

+0

はい、あなたが言うように非常に簡単です。 Gemfile 'bundle install'に行を追加し、' binding.pry'をコードに追加して実行してください。サーバーの端末またはテスト端末がコードを取得します。 – ryan2johnson9

関連する問題