ホームページ ウェブフロントエンド jsチュートリアル JavaScriptを学びながらテスト関数を書く

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

Jul 27, 2024 pm 04:30 PM

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 で素晴らしいものを構築できるかを確認する優れた方法です。気に入っていただければ幸いです:)

以上がJavaScriptを学びながらテスト関数を書くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

jQuery日付が有効かどうかを確認します jQuery日付が有効かどうかを確認します Mar 01, 2025 am 08:51 AM

jQuery日付が有効かどうかを確認します

jQueryは要素のパディング/マージンを取得します jQueryは要素のパディング/マージンを取得します Mar 01, 2025 am 08:53 AM

jQueryは要素のパディング/マージンを取得します

10 jQuery Accordionsタブ 10 jQuery Accordionsタブ Mar 01, 2025 am 01:34 AM

10 jQuery Accordionsタブ

10 jqueryプラグインをチェックする価値があります 10 jqueryプラグインをチェックする価値があります Mar 01, 2025 am 01:29 AM

10 jqueryプラグインをチェックする価値があります

ノードとHTTPコンソールを使用したHTTPデバッグ ノードとHTTPコンソールを使用したHTTPデバッグ Mar 01, 2025 am 01:37 AM

ノードとHTTPコンソールを使用したHTTPデバッグ

jQueryはscrollbarをdivに追加します jQueryはscrollbarをdivに追加します Mar 01, 2025 am 01:30 AM

jQueryはscrollbarをdivに追加します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

See all articles