JavaScript は広く使用されているプログラミング言語として、インターネット分野で非常に重要な役割を果たしています。ソフトウェア開発のプロセスにおいて、テストは不可欠な部分です。プロジェクトが大きくなり、コードが複雑になるにつれて、手動テストは時間がかかり、エラーが発生しやすくなるため、単体テストと自動テストがますます注目されています。この記事では、JavaScript での単体テストと自動テストについて、具体的なコード例とともに読者に紹介します。
1. 単体テスト
単体テストとは、ソフトウェア内のテスト可能な最小単位をチェックおよび検証するプロセスを指します。 JavaScript では、テスト可能な最小単位は関数、メソッド、クラスなどであることも、小さなコードであることもあります。単体テストの目的は、コードの正確性と安定性をチェックし、コード内の潜在的な問題を見つけることです。
Jest フレームワークを例として、JavaScript での単体テストを紹介しましょう。
- Jest のインストール
まず、プロジェクトに Jest をインストールする必要があります。
npm install jest --save-dev
このうち --save-dev で開発環境に Jest を追加します。依存関係。
- テスト ケースの作成
次に、テスト ケースを作成する必要があります。次の追加モジュールがあるとします。
function add(a, b) {
return a b;
}
これの正確さをテストするためのテスト ケースを作成する必要があります。モジュール。プロジェクトのルート ディレクトリに、次のコードを含む add.test.js というファイルを作成します。
const add = require('./add');
test('adds 1 2 を 3 に等しい', () => {
Expect(add(1, 2)).toBe(3);
});
test('adds -1 2 to 1 に等しい', () => {
Expect(add(-1, 2)).toBe(1);
});
test('0.1 0.2 を足して 0.3 に等しい', () => {
Expect(add(0.1, 0.2)).toBeCloseTo(0.3);
});
テスト ケースでは、test() ステートメントを使用します。定義するテスト ケースとテスト関数の名前。テスト関数では、expect() ステートメントと toBe() ステートメントを使用してコードの正確さを検証します。 toBe() ステートメントは等価性の比較に使用され、toBeCloseTo() ステートメントは近接性の比較に使用されます。テスト ケースを実行するコマンドは次のとおりです:
npm test
実行結果は次の図に示されています:
テスト ケースは正常に実行され、コードが表示されます。正しく実行できます。こうすることで、自信を持ってコードをリリースできます。
2. 自動テスト
自動テストとは、スクリプトやツールなどを使用してソフトウェアをテストするプロセスを指します。手動テストと比較して、自動テストには速度、精度、再現性という利点があり、テストの効率と品質を大幅に向上させることができます。 JavaScript では、自動テストも非常に重要です。
Selenium と ChromeDriver を例として、JavaScript での自動テストを紹介します。
- Selenium と ChromeDriver のインストール
まず、Selenium と ChromeDriver をプロジェクトにインストールする必要があります。
npm install selenium-webdriver chromedriver --save-dev
このうち、selenium-webdriver は JavaScript 実装です。 Selenium であり、chromedriver は ChromeDriver の JavaScript 実装です。
- テスト スクリプトを作成する
次に、テスト スクリプトを作成する必要があります。次のログイン モジュールがあるとします。
functionlogin(username,password) {
if (username === 'admin' &&password === 'admin') {
return true;
} else {
return false;
}
}
このモジュールの正しさをテストするためのテスト スクリプトを作成する必要があります。プロジェクトのルート ディレクトリに、次のコードを使用して、login.spec.js というファイルを作成します。
const { Builder, By, Key, until } = require('selenium-webdriver');
(async function loginTest() {
let driver = await new Builder().forBrowser('chrome').build();
try {
await driver.get('http://example.com/login'); await driver.findElement(By.name('username')).sendKeys('admin', Key.TAB); await driver.findElement(By.name('password')).sendKeys('admin', Key.RETURN); await driver.wait(until.titleIs('My Dashboard'), 1000); console.log('Test passed!');
}finally {
await driver.quit();
}
})();
テスト スクリプトでは、自動テストに Selenium と ChromeDriver を使用します。まずブラウザ インスタンスを作成し、次にログイン ページを開き、ユーザー名とパスワードを入力してユーザー インターフェイスに移動し、最後にテスト パス情報を出力します。テスト スクリプトを実行するコマンドは次のとおりです。
node login.spec.js
実行結果は次のとおりです。
テスト スクリプトは正常に実行され、コードは正しく実行できます。こうすることで、自信を持ってコードをリリースできます。
概要
この記事では、JavaScript での単体テストと自動テストについて紹介します。単体テストはテスト可能な最小単位の検査と検証を指し、テスト ケースの作成とテストの実行には通常 Jest フレームワークが使用されます。自動テストはスクリプトやツールなどを使用してソフトウェアをテストすることを指し、通常は Selenium と ChromeDriver が使用されます。テストスクリプトを作成してテストを実施します。この記事が読者の JavaScript テストの理解に役立つことを願っています。
以上がJavaScript の単体テストと自動テストについて学習します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









