「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScriptを学びながらテスト関数を書く

JavaScriptを学びながらテスト関数を書く

2024 年 7 月 30 日に公開
ブラウズ:649

Write a test function while learning javascript

どこにでもあるオブジェクト

そうですね、JavaScript のオブジェクトと、そのオブジェクトが言語を理解する上でどのように重要であるかについては、おそらく聞いたことがあるでしょう。
オブジェクトは、「キー」:「値」というモデルにより、JS を非常に読みやすく便利にします。しかし、私が注目したいのは、「値」セクションが単純な文字列だけではなく、別のオブジェクト、つまり別のオブジェクトなどを受け入れることです。例えば:

const character = {
      name:"Arthur Morgan",
      age:24,
      face: {
      hairSize:5,
      eyesColor: "blue",
      }
}

このスニペットは、顔がキャラクターであるだけでなくオブジェクトであることを示しています。そうするのは全く問題なく、多くの複雑な API がそのようなデータを処理し、重要な場合には何度もグループ化します。

しかし、オブジェクトの本当の力は 関数 に依存しており、この Leet コードの問題はそれに対処するとともに、テス​​ト ライブラリが内部でどのように動作するかの要点を与えてくれます。基本的に、値が期待値と等しいかそうでないかを検証する関数、toBe() と notToBe() が必要です。そのためには、これらの関数を使用してオブジェクトを返すことができます。ちなみに、アロー関数を使用すると、より美しく直接的になります。

これが答えです。

function expect(val) {
  function toBe(anotherValue) {
    if (val === anotherValue) {
      return true;
    }

    throw Error("Not Equal");
  }

  function notToBe(anotherValue) {
    if (val !== anotherValue) {
      return true;
    }

    throw Error("Equal");
  }

  return {
    toBe: (anotherValue) => toBe(anotherValue),
    notToBe: (anotherValue) => notToBe(anotherValue),
  };
}

別のオブジェクト、つまり有名なコンソールとその機能ログを使用して実行していることをすぐに確認できます。

console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null

オブジェクトを返すという事実により、expect() を自由に使用でき、その直後に .toBe() を使用できることに注意してください。これは、オブジェクトを返し、すぐに関数である toBe プロパティにアクセスするためです。

この Leet コードの問題は、オブジェクトと関数がどのように連携して JavaScript で素晴らしいものを構築できるかを確認する優れた方法です。気に入っていただければ幸いです:)

リリースステートメント この記事は次の場所に転載されています: https://dev.to/leonardoschmittk/write-a-test-function-while-learning-javascript-2i59?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3