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

あなたがテストを書かない5つの理由

優れた開発者は、コードをテストする必要があることを知っています。ただし、テストがスキップされたり、急いで実行されたり、開始されなかったりすることがよくあります。人々が陥るのを私が見た本当に一般的な罠がいくつかあり、それらは毎回テストするあなたのモチベーションを殺します。

1。 RSpecを使用する必要がありますか?キュウリ?カピバラ?ミニテスト?

新しいプロジェクトを開始するとき、それは方法 最高のツールを選ぶのに多くの時間を費やすのは簡単すぎます。この種の先延ばしは、どこから始めればよいかわからないという事実を隠します。 、ツールを選択するまで、感じることができます。 実際に存在することなく生産的 生産的です。

代わりに、あなたが最もよく知っているスタックを選んでください。特定のテストスタックの経験がない場合は、デフォルトを使用してください。Railsが提供するものから始めてください。後でいつでも追加できます。新しいツールを試すことに何の問題もありませんが、それは多くの プロジェクトとワークフローをよりよく理解できるようになるので、時間をかけてそれらを紹介することをお勧めします。

2。単体テストから始めますか?機能テスト?統合テスト?

プロジェクトを開始するときは、どの機能または画面を最初に構築する必要があるかを知っておく必要があります。これは始めるのに最適な場所です!機能リストから最初のものを選び、失敗した統合テストを作成します。これにより、不足しているコントローラーとルートの種類がわかります。つまり、失敗する機能テストをいくつか作成する必要があります。コントローラーはその仕事をするためにデータとロジックを必要とするので、次に単体テストとモデルを作成します。次に、単体テストに合格すると、機能テストに合格し、統合テストにも合格するはずです。これで、次の機能に進むことができます。

常に次のステップが定義されているテストプロセスがある場合は、やる気を維持するのがはるかに簡単です。決定を下す必要がない場合、先延ばしが忍び寄る機会は少なくなります。

3。このネットワークコード、コマンドラインユーティリティ、またはrakeタスクをテストする方法がわかりません!

ここで行う最も簡単な方法は、テストが難しいファイルまたはクラスから、テストが簡単な新しいオブジェクトにできるだけ多くのコードを移動することです。そうすれば、テストが難しいのは、パラメータを作成して新しいオブジェクトに渡すだけです。

もちろん、あなたはまだ テストするのが難しいオリジナルのものを持っています。しかし、今ではおそらくほんの数行のコードであり、スタブまたは偽造する方が簡単なはずです。

4。 「プロジェクトはほぼ完了しました。今はテストを作成するだけです!」

私が出会ったすべての開発者は渇望 配送コード。出荷する前にテストを最後に行う場合は、コードが機能することをある程度確信できるようにするために必要な最小限のテスト数を記述します。この習慣を身につけると、テストが役立つのではなく煩わしいものと見なされるようになり、テストを書くように動機付けるのがはるかに難しくなります。

TDDについての私の好きなことの1つは、テストと設計およびコーディングが混在していることです。つまり、テストがとして見られるようになります。 コーディング。これにより、はるかに楽しくなります(そして、テストをたくさん行うことでメリットが得られます。 以前)。

5。間違っているとどうなりますか?

Rubyコミュニティは、コード品質、単体テスト、およびオブジェクト指向設計の原則を実際に推進していることで知られています。これは素晴らしいことです!残念ながら、これは、最初の試行で100%のテストカバレッジを備えた完璧なコードを出荷するという大きなプレッシャーを感じることが非常に一般的であることを意味します。

これにより、プロジェクト、特に他の人がコードを見ることがわかっているオープンソースを開始するのが非常に難しくなります。 SOLIDの原則のすべてに準拠していないことがわかった場合、人々は何と言いますか?しかし、このプレッシャーに対処するのに役立ったことがいくつかあります。

  • すべての優れた開発者 後で恥ずかしいコードを書きます。
  • 出荷される優れたコードは、そうでない完全なコードよりも無限に優れています。
  • 何人かの人々はただのぎくしゃくしていて、あなたのコードをからかうでしょう。これは本当にひどいです。それは私の週全体を台無しにしました。しかし、優れた開発者は支援したいと考えています あなたを批判する代わりにあなた。そして、あなたがそのコードをあなたのプログラミングヒーローに見せたとしても、彼らはそれをからかうことはないでしょう。彼らはあなたがそれをより良くするのを助けるでしょう。

他に何に気づきましたか?

これらの罠のどれに陥りましたか?何があなた自身を引き抜くのを助けましたか?そして、あなたが気づいたことについて私が言及しなかったものはありますか?

これらの罠のいずれかで自分自身を認識した場合、自分を脱出させるために何をしますか?


  1. WiFi が機能しない考えられるすべての理由

    生きていくために空気が重要であるように、私たちの生活はインターネットなしでは考えられません。ただし、接続の問題が発生する場合があり、ユーザーを完全に悩ませる最も一般的な問題の 1 つは、WiFi が機能しないことです。 それがどのように起こったのだろうか? WiFi でインターネットにアクセスできない場合に、この問題を解決するための考えられる理由と方法を次に示します。 ドライバーの不具合 WiFi が機能しない理由の 1 つは、ドライバーの不具合が原因である可能性があります。より正確には、システムに WiFi ドライバーを再インストールする必要がある場合があります。これには 2 つの方

  2. iPhone X の Face ID が機能しないのはなぜですか?

    iPhone X が発売されたとき、多くの変更が加えられました。ソフトウェアとハ​​ードウェア、ディスプレイ、その他多くのものが大幅に変更されました。一番の変更点は、ホームボタンがなくなったことです。以前は、ホームボタンが指紋スキャナーとして機能していました。 Apple は iPhone X で、より安全な生体認証セキュリティ システムと言われている Face ID を導入しました。 Face ID は、30,000 を超える目に見えないドットを投影して分析することで顔データをキャプチャするトゥルース デプス カメラを使用して、顔の深度マップを作成し、顔の赤外線画像をキャプチャします。 素晴