Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

TDDフライホイールをどのように動かしますか?

(今週はRailsConfのためにシカゴにいます。周りに会ったら、こんにちは!お会いしましょう。サイドバーの写真に写っている年上の方です。)

ある読者が、私の記事の1つに対するコメントで、テストについてすばらしい質問をしました。

「TDDフライホイール」も動かす必要があることは知っていますが、TDDは私にはなじみがありません。 RSpecを開始するための最善の方法について何かアドバイスはありますか、それとも単に「そこに入ってハックする」ようなものですか?

だから私はそれに答えました:

どちらか一方に落ち着かない場合は、実際にミニテストを開始する方が簡単だと思うかもしれません。これはもう少し「メソッドとクラス」なので、新しい構文を学ぶことなく、TDDの学習と実践に完全に集中できます。

Railsには、テストの用語、アサーション、およびRailsで一般的にテストを実行する方法に関する非常に優れたガイドがあります。

TDDを学ぶ最良の方法は、練習することです。従う必要のある手順は次のとおりです。

  1. 必要なコードがすでに存在することを前提としたテストを作成します。
  2. テストを実行し、新しいテストが失敗することを確認します
  3. テストに合格する最も単純なコードを記述します。ここで過度に抽象化したりリファクタリングしたりしないでください。
  4. テストを実行し、新しいテストに合格することを確認します
  5. コードをリファクタリングして重複を削除します(またはコードをより表現力豊かにします)。
  6. テストを再実行します(テストに合格することを確認します)。
  7. 手順1に戻ります。

TDDを練習している間は、自分自身に問い続ける必要があります。私はどのステップに進んでいますか?ステップをスキップしましたか?次のステップはどれですか? (常にこれらの手順のいずれかを実行する必要があります。)これにより、正しい軌道に乗ることができます。これは非常に重要です あなたが何か新しいことを学んでいる間。 「練習は永続的になる」ので、間違ったことを練習したくないのです!

ただし、混乱する許可を自分に与える 。あなたは学んでいます、それは完全に大丈夫です!頻繁に行うと、はるかに簡単になります。

テストについての本も書いているEricSteeleは、私が見逃した重要なポイントを提起しました。

取り残されるTDDの部分は、ステップ1の前に行われる計画の量です。

テストは、アプリの要件が計画された実装を満たす場所です。テスト駆動開発は、アプリが何をすべきかを知ることに大きく依存しており、それを行う方法についてのアイデアがあることを前提としています。

Railsを使って最初に構築を始めたとき、私たちは多くを知りません。探しているものと同様の結果が得られるまで、実験的なコードの作成に多くの時間を費やしています。あなたがより多くを学ぶにつれて、あなたはこれをますます少なくします。これが、TDDが「テストを作成する」ことから始まり、「構築しているものを理解する」ことではない理由だと思います。テストするときまでに、あなたはあなたのベルトの下でたくさんの経験を持っています。

「テストを書く」前に次の手順を追加します:

  1. 要件をブレインストーミング、正当化、およびカリングします。コーディングは絶対に避けてください。
  2. これらの要件を満たすコードを計画および設計します。
  3. 不明な質問に答えるためのコードをいじくり回しますが、そのコードは脇に置いておきます。

私のアドバイス:

  • 構文以上の計画に焦点を当てる
  • ツールを最小限に抑えます(ミニテスト/フィクスチャが非常に役立つことがわかりました)
  • 練習、練習、練習。

何でもそうですが、TDDを使い始めるには、練習と自己修正(または誰かにあなたを修正してもらう)能力が必要です。いくつかの半厳密な手順を実行でき、プロセスのどこにいるかに注意を払うことができれば、TDDはすぐに完全に自然に感じられるようになります。


  1. WindowsでGetWindows10アイコンを削除する方法

    Windows 10は間もなくリリースされる予定です。新しいバージョンには、Windows Hello、Cortana、Edgeなどのすばらしい機能が搭載されており、ひどいスタート画面も修正されているため、このニュースにとても興奮しています。実際、アップグレードはすべてのWindows 7(およびそれ以降)のユーザーに無料で提供されており、リリース日も発表されています。 7月29日です。リリース日が間近に迫っているため、ほとんどすべてのWindows7およびWindows8ユーザーのタスクバーに、無料アップグレードの予約を提案する新しいアイコンが表示されています。 ただし、この新しいタスクバ

  2. iOSプロジェクトの現在のバージョンをコードで取得するにはどうすればよいですか?

    iOSアプリケーションをビルドすると、デフォルトでバージョン1.0とビルド0が取得されます。新しいビルドをアプリストアにアップロードするたびに、バージョン番号を変更する必要があります。ビルドをテストするためにビルド番号を更新できます。バージョンとビルド番号は、プロジェクトのinfo.plistファイルに保存されています。 カスタムアクションを実行するために、アプリケーションのビルドまたはバージョン番号にアクセスする必要がある場合があります。 バージョン番号を取得するには、次のコードを使用して、変数または定数に割り当てることができます。 Bundle.main.object(forInfoD