私はTDDを "取得"するだけでなく、それがなくては生きられないことを意味する "テスト感染"している人々について読んでいます。彼らは "変身した"のままでした。質問は、私はどうやってそれを得るのですか?TDDで「感染した」テストになるにはどうしたらいいですか?
答えて
「感染テスト」のポイントの1つは、TDDを十分に使用しており、なしでコードを作成したくないということです。最初にテストを書くサイクルを経て、コーディングとリファクタリング、そしてバグのカウントが下がり、結果としてコードが良くなったら、Zxaosのような第二の性質になるだけでなく、コードファーストに戻るこれは感染したテストです。
開始するTDDについて学び、それをあなたのワークフローに統合し始めましょう。十分な方法論を使用すれば、それらが第二の性質になり、そのフレームワーク内で開発タスクをすべて組み立てることになります。
また、ご使用の言語に合わせてJ-Unit(またはX-Unit)フレームワークを使用してください。
あなたはすでにTDDについて読んでいます。もっと読むことはあなたを興奮させることではありません。
代わりに、本物の個人的な成功のストーリーが必要です。
ここで説明します。コアモジュールのコード、外部システムに依存しないコード、あまりにも多くの他のサブルーチンを取得します。ルーチンがどんなに複雑で単純かは関係ありません。
それから単体テストを書き始めます。 (私はxUnitやあなたの言語に似ていると仮定しています。)テストでは本当に不快です - すべての境界ケースをテストし、max-intとmin-intをテストし、ヌルをテストし、数百万の要素でテスト文字列とリストをテストし、韓国語の制御文字と右から左へのアラビア語と引用符とバックスラッシュとピリオドなど、エスケープされていない場合には壊れやすいものをテストします。
あなたが見つけられるものは....バグです!最初は、これらのバグは重要ではないと思うかもしれません - あなたはまだこれらの問題にぶつかりませんでした。あなたのコードはこれを決してしません。小さな問題の数で。結局、なしこれらのバグのはになると信じるのが難しくなります。
さらに、あなたは何かが本当に、本当にうまくいったことで達成感を得ることができます。私たちは、コードが決して完全ではなく、まれにほとんどバグがないことを知っています。本当に自信を持ってテストしています。自信はいい感じです。
最後に、愛を引き起こす最後のイベントは、数週間後または数ヶ月後に起こると思います。おそらく、バグを修正したり、機能を追加したり、コードをリファクタリングしたりしているかもしれません。 「やった?」あなたは、新しい変更が壊れたテストにも関係していた理由を理解していないと言うでしょう。それからあなたはそれを見つけて、悟りを見つけます。あなたはが本当にわからなかったので、あなたがコードを壊していて、テストによってあなたが救われたということがわかったので、。
ハレルヤ!
1つの単語、練習! TDDにはいくつかのオーバーヘッドがあり、それを克服する方法は練習して、プロセスを助けるツールを使用していることを確認することです。あなたはあなたの手の後ろのようなツールを学ぶ必要があります。学習中のプロセスに合ったツールを習得すれば、それがクリックされ、まずコードを流すためのテストを書くことに慣れるでしょう。その後、あなたは "感染した"テストになります。
I answeredこれと似たような質問ですが、あなたもそれをチェックしたいかもしれません。いくつかのツールについて言及し、TDDの学習について説明します。これらのツールのうち、TDDを実行するには、Resharperと良いモックフレームワークを選ぶことが重要です。私は十分に使用しているテストフレームワークに合うようにこれらのツールを学習することを強調することはできません。
- 1. Python 3.5 - 「感染した木の枝に感染する」
- 2. ClamAVは感染していないファイルをチェックしました
- 3. Wordpressのサイトはマルウェアに感染しました
- 4. MySQLでIF文をテストするにはどうしたらいいですか?
- 5. RSpecで `rand()`をテストするにはどうしたらいいですか?
- 6. Test :: MoreでSTDERRをテストするにはどうしたらいいですか?
- 7. Typescriptで書かれたテストでジャスミンから 'createSpyObj'をインポートするにはどうしたらいいですか?
- 8. 開発ツールに感染していますか?
- 9. 条件検証をテストするにはどうしたらいいですか?
- 10. Jestでwhatwg-fetchをテストするにはどうしたらよいですか?
- 11. SwiftでNSLocale.preferredLanguagesをテストしてリクエストをテストするにはどうしたらいいですか?
- 12. ブラウザ(firefox/safari)は、あなたが訪問しているウェブサイトが感染していることをどのように検出しますか?
- 13. 感染したコンパイラ、または誤動作?
- 14. Railsでは、テストのためにwebsocketメッセージをスタブするにはどうしたらいいですか?
- 15. nginx/apacheのようなWebサーバーでemberjsテストを実行するにはどうしたらいいですか?
- 16. Android上でどのアプリがウイルスに感染しているかを知るには?
- 17. ソースNSISのセットアップがウイルスに感染している
- 18. PHPなしでログインシステムを作るにはどうしたらいいですか?
- 19. Rails:カピバラの統合テストでストップウォッチをテストするにはどうしたらいいですか?
- 20. pytestを使ってテスト*の後にテスト名*を表示するにはどうしたらいいですか?
- 21. TDD - 私のサービスレイヤーを偽のリポジトリでテストしたいですが、どうですか?
- 22. gitオブジェクトのファイルタイプ(ascii、バイナリなど)をテストするにはどうしたらいいですか?
- 23. 赤い(感染した)カメがすぐに灰色になるのを止める方法(回復/除去)
- 24. デバイスでNativeScriptアプリケーションをテストするにはどうしたらいいですか?Windowsでですか?
- 25. 感染した.exeをリモートの場所にアップロードして実行する
- 26. GTKでは、ウィンドウを閉じられないようにするにはどうしたらいいですか?
- 27. ブートストラップを使うにはどうしたらいいですか?
- 28. $ ionicPopupを一度しか表示しないようにするにはどうしたらいいですか?
- 29. eclipseでテストのみを実行してtestuitを無視するにはどうしたらいいですか?
- 30. バックグラウンドジョブからFacebookにログインするにはどうしたらいいですか?