次のコードカバレッジ.脚本家のテストを使用して
12241 ワード
Playwright あなたのWebアプリケーションのクロスブラウザのクロスプラットフォームのエンドツーエンドのテストをすることができます注目すべきツールです.それも、あなたgenerate テストコードをあなたのアプリを移動する(しかし、thatsはおそらく別のブログ記事のトピック)!
残念ながら、今のところ、箱のうち、それはテストされているアプリのための測定コードカバレッジをサポートしていません#7030 and #9208 ). このポストは、回避策を示します.
具体的には、このポストをどのように次の楽器を示しています.カスタムアプリケーションを使用して
PlayWrightテストカバレッジ
コードが計装されているので、コードカバレッジを測定する準備が整いました.このためには、この脚本プラグインをインストールする必要があります.
最後に、コードカバレッジを測定する準備が整いました.
次を起動します.イスタンブールコマンドラインツールを使用したJS devサーバ
うまくいけば、あなたは今、次のためのコードカバレッジを測定する方法のいくつかの理解を持っている.James(または任意のバベルベースのアプリ)PlayWrightテストを実行しているとき.
ここでデモ用の完全なソースコードをチェックアウトできます.
PlayWrightテストカバレッジ
PlayWrightテストフレームワーク NPM I - D @ playwright/テストバベルプラグインイスタンブールニューヨーク
NPM I - D脚本テスト報道
いつものようにあなたの脚本のテストを書く
//テスト/foo京大理
const { test,expect } = require(“playwright testカバレッジ”);
//テストを使用し、通常通りに期待する
テスト(基本テスト)、async ({ page })=>
ページを待つ.後藤」https://playwright.dev/);
ページのタイトル.ロケーター('. Navbarstricer - inner . navbarstra - lt 'タイトル)
期待を待つtohavetext (' playwright ');
));
次に、あなたのフロントエンドのソースコードを使用してカバレッジの楽器
最後に
View on GitHub
乾杯!
残念ながら、今のところ、箱のうち、それはテストされているアプリのための測定コードカバレッジをサポートしていません#7030 and #9208 ). このポストは、回避策を示します.
具体的には、このポストをどのように次の楽器を示しています.カスタムアプリケーションを使用して
babel.config.js
を使用してコードカバレッジを測定する方法 playwright-test-coverage
プラグイン.あなたがデモにまっすぐにジャンプするならば、あなたはここでそれをすることができます:アニシキー / PlayWrightテストカバレッジ
PlayWrightテストカバレッジ
の使用例playwright-test-coverage - エーPlaywright end - to - endテストを実行してからコード範囲を収集する拡張.
用途
npm install
npm test
Code coverage should be generated in coverage/
folder.
サンプル
許可
ステップ1:あなたのコードを計器
If you want to measure code coverage, first you will want to instrument your code (i.e. insert counters without causing any side-effects) using istanbul
. Most modern web apps (React, Vue etc), use babel
in their toolchain (which converts modern ES2015+ code into backwards compatible code to support older browsers). The recommended way to instrument code in this scenario is using babel-plugin-istanbul
:
npm i -D babel-plugin-istanbul
今、我々は指示する必要がありますbabel
このプラグインを使用するには.詳細はフレームワークによって異なるかもしれませんが、次のために.jsアプリ、ファイル名を作成babel.config.js
ルートフォルダで// babel.config.js
const plugins = [];
// Instrument for code coverage in development mode
if (process.env.NODE_ENV === "development") {
console.log(
"Detected development environment. Instrumenting code for coverage."
);
plugins.push("istanbul");
}
module.exports = {
presets: ["next/babel"],
plugins,
};
これは開発モードでのみコードを実行しますnext dev
. それは、我々が我々の生産コードを混乱させる計装を望まないので、それはよいです.ステップ2:PlayWrightテストカバレッジの拡張子を使用してテストを書く
コードが計装されているので、コードカバレッジを測定する準備が整いました.このためには、この脚本プラグインをインストールする必要があります.
npm i -D playwright-test-coverage
このパッケージの輸出は脚本家のために上映するtest
and expect
コードカバレッジ測定を正しく処理する方法.// tests/app.spec.js
const { test, expect } = require("playwright-test-coverage");
test("basic test", async ({ page }) => {
// Use Playwright as usual
await page.goto("http://localhost:3000");
await expect(title).toHaveText("Title");
// ...
});
あなたが既存の脚本テストをするならば、単にトップの近くで以下の置き換えにおいて落してください
// Replace this:
const { test, expect } = require("@playwright/test");
// With this:
const { test, expect } = require("playwright-test-coverage");
ステップ3:メジャーコードカバレッジ
最後に、コードカバレッジを測定する準備が整いました.
次を起動します.イスタンブールコマンドラインツールを使用したJS devサーバ
nyc
- コードカバレッジ測定を有効にします.npx nyc next dev
次に、別のターミナルウィンドウで、通常のように脚本テストを実行します.npx playwright test
すべてうまくいけば、次のようなコードカバレッジレポートが表示されるはずです.Running 1 test using 1 worker
✓ tests/app.spec.js:5:1 › basic test (1s)
1 passed (2s)
----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
----------|---------|----------|---------|---------|-------------------
包む
うまくいけば、あなたは今、次のためのコードカバレッジを測定する方法のいくつかの理解を持っている.James(または任意のバベルベースのアプリ)PlayWrightテストを実行しているとき.
ここでデモ用の完全なソースコードをチェックアウトできます.
アニシキー / PlayWrightテストカバレッジ
PlayWrightテストカバレッジ
の使用例playwright-test-coverage - エーPlaywright end - to - endテストを実行してからコード範囲を収集する拡張.
用途
NPMインストール
NPMテスト
コードカバレッジはcoverage/
フォルダ.
サンプル
許可
MIT
View on GitHub
拡張モジュールはここで入手できます.
アニシキー
/
脚本テスト報道
コードカバレッジを測定するPlayWrightテストを拡張する
脚本テスト報道
エーPlaywright end - to - endテストを実行してからコード範囲を収集する拡張.コードが計装されていると仮定しますbabel-plugin-istanbul ビルド処理中.
必要条件
エーPlaywright end - to - endテストを実行してからコード範囲を収集する拡張.コードが計装されていると仮定しますbabel-plugin-istanbul ビルド処理中.
必要条件
babel-plugin-istanbul
プラグインnyc
実行テストインストール
NPM I - D脚本テスト報道
用途
いつものようにあなたの脚本のテストを書く
require
test
and expect
このパッケージから次のようにします.//テスト/foo京大理
const { test,expect } = require(“playwright testカバレッジ”);
//テストを使用し、通常通りに期待する
テスト(基本テスト)、async ({ page })=>
ページを待つ.後藤」https://playwright.dev/);
ページのタイトル.ロケーター('. Navbarstricer - inner . navbarstra - lt 'タイトル)
期待を待つtohavetext (' playwright ');
));
次に、あなたのフロントエンドのソースコードを使用してカバレッジの楽器
babel-plugin-istanbul
プラグイン.最後に
nyc
…View on GitHub
乾杯!
Reference
この問題について(次のコードカバレッジ.脚本家のテストを使用して), 我々は、より多くの情報をここで見つけました https://dev.to/anishkny/code-coverage-for-a-nextjs-app-using-playwright-tests-18n7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol