ビューでサイプレスの使用方法は?
サイプレスでVUEアプリケーションをテストするとき、テストツールをフレームワーク機能と組み合わせる方法を理解するための鍵です。 1.サイプレスをインストールしてプロジェクトを構成し、NPMまたはYARNを介して依存関係を追加し、グラフィカルインターフェイスを開始します。 2。E2Eテストファイルを作成し、.spec.jsの最後にあるサイプレス/E2Eディレクトリに保存し、cy.visit()を使用してページとcy.contains()にアクセスしてコンテンツを確認します。 3. VUEコンポーネントの相互作用を処理し、cy.get()を介して操作をシミュレートします。()。状態の変更を検証し、Cy.Wait()ではなくサイプレスの自動再試行メカニズムを使用することを優先します。 4.テストをデバッグして実行するには、グラフィカルインターフェイスを使用して、NPXサイプレスの実行を介してCI環境で徐々にデバッグまたはヘッドレスに実行し、スクリーンショット、ログ、その他の補助トラブルシューティングを組み合わせます。パスアクセス、要素の選択、非同期待機の詳細を習得することは、信頼できるテストを実現するための鍵です。
Vueアプリケーションをサイプレスでテストするとき、テストツールとフレームワーク機能を組み合わせる方法を理解するための鍵です。サイプレスは、エンドツーエンド(E2E)テストのためのVUEでうまく機能するフロントエンドテストツールです。
サイプレスをインストールし、プロジェクトを構成します
まず、VUEプロジェクトが作成されていることを確認し、テスト機能を追加します。サイプレスをインストールする方法は非常に簡単です:
- NPMまたは糸を使用して依存関係を追加します。
npmインストールサイプレス - save-dev
または
糸はサイプレスを追加します-DEV
インストールが完了したら、次のコマンドでサイプレスを開始できます。
NPXサイプレスが開きます
これにより、サイプレスのグラフィカルインターフェイスに導かれ、テストファイルを保存するためのcypress/e2e
フォルダーなどの基本的なディレクトリ構造が自動的に生成されます。
Vue CLIによって作成されたプロジェクトを使用している場合は、公式のプラグインcypress-vue-unit-test
をインストールしてユニットテストをサポートすることもできますが、ここでは主にE2Eテストの基本プロセスに焦点を当てています。
最初のE2Eテストを書きます
サイプレステストファイルは通常.spec.js
で終了し、 cypress/e2e
ディレクトリに配置されます。 Vueアプリのホームページに「私のアプリへようこそ」というタイトルが表示されると仮定すると、このような簡単なテストを書いて、存在することを確認できます。
説明( '私の最初のテスト'、()=> { それ( 'アプリのホームページに訪問'、()=> { cy.visit( '/')//ローカル開発サーバーのルートパスにアクセスするcy.contains( 'h1'、 'welcome yp um my app')//特定のテキストを含むH1タグを見つけます}) })
このコードはいくつかのことを行います:
-
cy.visit()
指定されたページを開きます cy.contains()
、ページに一致するコンテンツがあるかどうかを確認します- テキストが見つからない場合、テストは失敗します
この例は、シンプルですが、サイプレスがユーザーの動作をシミュレートし、結果を検証する方法を示しています。
Vueコンポーネントの相互作用を処理します
Vueのコンポーネント構造により、一部の操作は少し複雑に見える場合がありますが、サイプレスはこれらの状況を処理するのに十分強力なAPIを提供します。
たとえば、ボタンをクリックして特定の状態が変更されたことを確認する場合は、これを行うことができます。
それ( 'ボタンをクリックして結果をチェックします'、()=> { cy.visit( '/') cy.get('。my-button ')。click()//クラス名でmy-button cy.contains(' p '、'データが正常に更新された! ')//予想されるコンテンツが表示されていることを確認})
知らせ:
- VueはDOMを動的に更新するため、サイプレスのアサーションはデータレンダリングが完了するのを待つ必要があります
cy.get()
およびcy.contains()
を使用することは、通常、ターゲットが見つかるかタイムアウトに到達するまで自動的に再試行する安全な方法です。
非同期にロードされたデータが遭遇した場合は、 cy.wait()
を使用できますが、 cy.contains()
またはDOMの変更に基づいて暗黙的に待機する他のアサーションを使用することをお勧めします。
デバッグおよび実行テスト
サイプレステストのデバッグは実際には非常に直感的です。 npx cypress open
を実行した後、テストファイルを選択してグラフィカルインターフェイスを実行できます。各ステップが記録されます。ステップをクリックして、その時点でDOMステータスを表示します。
CI環境でテストを実行する場合は、次のコマンドを使用できます。
NPXサイプレスの実行
これにより、すべてのテストがヘッドレスモードで実行され、結果が出力されます。
いくつかの一般的なヒント:
-
cy.log()
を使用して、デバッグ情報を出力します - テストが失敗したときにスクリーンショットと録画ビデオ(サイプレスはデフォルトでこれを行います)
-
--headed
パラメーターでテストを実行して、ブラウザインターフェイスを確認します
基本的にそれだけです。サイプレスとVUEの組み合わせは複雑ではありませんが、アクセスパス、要素セレクター、非同期待機メカニズムなど、詳細は簡単に見落とされます。これらの側面を習得した後、VUEアプリケーションの信頼できるテストをよりスムーズに作成できます。
以上がビューでサイプレスの使用方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

テーマスイッチングコンポーネントを作成し、チェックボックスを使用してiSDarkMode状態をバインドし、ToggleTheem関数を呼び出します。 2。テーマを初期化するために、マウントされたローカルストレージとシステムの設定を確認します。 3.適用性のある関数を定義して、ダークモードクラスをHTML要素に適用してスタイルを切り替えます。 4. CSSカスタムプロパティを使用して、明るい変数と暗い変数を定義し、ダークモードクラスを介してデフォルトのスタイルを上書きします。 5. Themeswitcherコンポーネントをメインアプリケーションテンプレートに紹介して、トグルボタンを表示します。 6.オプションで、システムのテーマを同期するために、カラースchemeの変更を好むことを聞きます。このソリューションはVUEを使用します

計算にはキャッシュがあり、依存関係が変更されないままである場合、複数のアクセスは再計算されませんが、メソッドは呼び出されるたびに実行されます。 2.Computedは、応答性データに基づく計算に適しています。メソッドは、パラメーターが必要または頻繁に呼び出されるが、結果は応答性データに依存しないシナリオに適しています。 3.データの双方向の同期を実現することができますが、メソッドはサポートされていません。 4.要約:最初に計算されたコンピューターを使用してパフォーマンスを改善し、パラメーターを渡したり、操作を実行したり、キャッシュを回避したりするときにメソッドを使用します。

Modal.vueコンポーネントを作成し、構成APIを使用してモデル数とタイトルを受け取るプロップを定義し、EMITを使用して更新をトリガーし、ModelValueイベントをトリガーしてVモデルの双方向バインディングを実現します。 2。スロットを使用してテンプレートにコンテンツを配布し、デフォルトのスロットと名前付きスロットヘッダーとフッターをサポートします。 3. @click.selfを使用して、マスクレイヤーをクリックしてポップアップウィンドウを閉じます。 4.親コンポーネントにモーダルをインポートし、REFを使用してディスプレイを制御して非表示にし、V-Modelと組み合わせて使用します。 5.オプションの拡張機能には、エスケープキークローズを聴くこと、トランジションアニメーションの追加、フォーカスロックが含まれます。このモーダルボックスコンポーネントは良いです

vueclicanstillbeinstalledforlegacyprojectsusingnpminstall-g@vue/cliですが、炎はdeprecatedof2023.1.ensurenode.js(v14 )andNpMareInStalledByRunningNode - versionandnpm - version.2.installvuecligligloballywithnpminstall-g@vue/cli.3.verifytheinstallationusingvue

プロップを使用してルーティングパラメーターを通過すると、コンポーネントが再利用およびテストを容易にすることができます。次の3つの方法があります。①ブールモード:プロップ:真のパラメーターをプロップとして渡します。 ②オブジェクトモード:プロップ:{key:value}は静的値を渡す。 ③関数モード:プロップ:(ルート)=>({})パラメーターを動的に処理して渡すことができます。対応する小道具はコンポーネントで宣言する必要があります。コンポーネントは、単純なシナリオに適しており、コンポーネントの分離と保守性を向上させる必要があります。

vuelifecyclehooksallowyoutoexexecodeatspecificstages’sexistence.1.beforecreaterunswhenthenthecompontisisialized.2.creatediscalledafterreativityisivityisideisideisisisidedisabledived、makedata andata data andata dataveadableable

VUE3の構成APIを使用して検索フィルタリング機能を実装すると、コアはV-Modelバインディング検索入力と計算属性を介してリストを動的にフィルタリングすることです。 2。TolowerCase()を使用して、症例感受性および部分的なマッチングを実現します。 3.監視を介して検索用語を聴き、SettimeOutを組み合わせて300msのアンチシェイクを達成してパフォーマンスを向上させることができます。 4.データがAPIから来た場合、マウントでリストの応答性を非同期に取得および維持できます。 5.ベストプラクティスには、メソッドの代わりに計算されたコンピューターの使用、元のデータの保持、V-FORへのキーの追加、結果がない場合に「見つからない」プロンプトの表示が含まれます。このソリューションはシンプルで効率的で、大規模に適しています

VUEプラグインは、アプリケーション機能をグローバルに拡張するために使用されますが、コンビネーション機能はコンポーネント間の応答ロジックを多重化するために使用されます。 1.アプリケーションがapp.use()を介して起動するとプラグインがインストールされ、グローバルメソッド、コンポーネント、または構成を追加してアプリケーション全体に影響を与えることができます。 2。コンポーネント機能は、インポート、カプセル化、レスポンシブ状態とロジックを返すことにより、コンポーネント内で需要があり、呼び出しにのみ作用できます。 3.プラグインは、ルーティングや状態管理などのグローバルサービスに適しており、組み合わせ機能は、マウスの位置、フォーム処理などの再利用可能なロジックに適しています。 4.プラグインはグローバルな副作用を導入する可能性があり、組み合わせ機能はよくカプセル化されており、グローバルな汚染がありません。したがって、グローバル構成が必要かどうかに基づいて、プラグインまたは組み合わせ機能を選択する必要があります。どちらも同じプロジェクトでよく使用され、明確なアーキテクチャを実現します
