私は毎日Railsに関する新しいことを学んでいます(2つの学習を始め、3つの概念に移行しています)。 Railsのプロジェクトとして、私はブラウザゲームをコーディングしています。これまでは、データベースにデータをロードするためのフィクスチャを使用していましたが、必要なときに毎回db、loadtureなどを再作成するカスタムタスクを作成しました。私は、武器、ボーナスなどで私の怪物を簡単に定義することができるので、私はこのアプローチが好きだと言わなければならない。Rails RSpec、このような場合にはどのように適用されますか?
しかし、私は人々がその種のもののRSpecのようなテスト環境を使用することを知っています。 RSpecは適切な動作を定義するための言語として使用されていますが、どのように役立つのかはっきりと分かりません。しかし、私は正しいやり方をするのが好きなので、私はそれについて理解して読むことがずっとあると確信しています。
したがって、私はRSpecがどのように役立つかについての確かな例を尋ねたいと思います。たとえば、ユーザーが同盟を作成したとします。私のコードでは、私はこの同盟を作成するお金があるかどうか、このユーザーと既に同盟関係があるかどうか、その名前との同盟が存在するかどうかをチェックしています。ここでRSpecはどこに適合しますか?すてきな使用例は何でしょうか?
さらに、RSpecを使用して別の方法で実装されていますか?
私はすでに、Railsには多くの優れたプログラマの便利さがあり、これも収穫したいと思っています。しかし、私はまだRSpecについて無知です。そういうわけで、私はいくつかの有用な洞察に感謝します。ありがとうございました:)
こんにちは、お返事はありがとうございました:)私はすでに、同盟名の一意性を検証しています。そのような場合、私はそのようなテストを使う必要は本当にありません。私はそれがいくつかのシナリオでは便利かもしれないと思うが、私は本当にその時に何かを見ることができない。 – Spyros
当面の検証は必要ないかもしれませんし、Railsが実際に動作しているかどうかのテストは通常必要ではありません。これは単なるテストケースの例です。つまり、他の開発者と作業している場合、誰もテストなしでコードを変更しないことをどのように確認できますか?また、テストがより便利になる複雑なケースもあります。たとえば、ユーザーが同盟に2度参加できないことを確認するなどです。 –
Railsチーム(例えば)が検証のために独自のテストケースを保持しているという裏づけがあるのは、経験則として「他の人が書いたコードをテストしないでください。 テストはコードの動作を確認するためのものではなく、どのように*動作するべきかを伝えるためのものです。 GitHubのRubyプロジェクトでは、さまざまなRSpecテストを参照するだけで大丈夫です。コードベースを掘り起こすのは簡単です。 – Robbie