Rspack は Rust と Node.js のコードを組み合わせて使用しているため、それぞれ異なるテスト戦略が用いられています。
Rust のテストケースは単体テストにのみ適しています。完全なビルドプロセスをテストするには、Node.js のテストケースを追加してください。
Rust コードのテストケースは、`./x test rust` または `cargo test` を使用して実行できます。
テストケースは Rust コード内に記述します。例:
詳細については、以下を参照してください:Rust: テストの書き方
Node.js テストには、3 つのテストスイートがあります。
Rspack は Webpack の互換性を確認するために、Webpack のテストスイート全体を `tests/webpack-test` フォルダにコピーしました。新しいテストケースを追加する必要がある場合は、まずそのケースがこのフォルダに既に存在するかどうかを確認することをお勧めします。`test.filter.js` ファイルを削除するか、その戻り値を `true` に変更することで、テストケースを有効にできます。
Webpack テストは、ルートフォルダで `./x test webpack` または `pnpm run test:webpack` を実行して実行できます。
問題が発生した場合は、Webpack テストケースの元のコードを変更しないでください。コピーして、Rspack テスト に従って、`packages/rspack-test-tools/tests` に新しいテストケースを作成してください。
詳細については、以下を参照してください:Webpack テスト。
Rspack のテストケースは、`packages/rspack-test-tools/tests` フォルダに格納されており、独自のテストケースと、Webpack および Webpack プラグイン用に修正が必要なケースが含まれています。
Rspack テストは、ルートフォルダで `./x test unit` または `pnpm run test:unit` を実行して実行できます。
`packages/rspack-test-tools` フォルダに移動して `npm run test` を実行すると、テストケースを実行し、いくつかの引数を追加できます。
詳細については、以下を参照してください:Rspack テスト。
実装の違いとパフォーマンスの考慮事項から、Rspack は内部的にいくつかの Webpack プラグインをサポートします。同様に、これらのプラグインのテストスイートは、プラグインの互換性をテストするために `tests/plugin-test` フォルダにコピーされています。
Webpack プラグインテストは、ルートフォルダで `./x test plugin` または `pnpm run test:plugin` を実行して実行できます。
ほとんどの場合、対応するプラグインの機能を変更した場合でも、Rspack テスト に従って新しいテストケースを追加するだけで済みます。
新しい Webpack プラグインをネイティブに実装し、そのテストケースをコピーする必要がある場合のみ、このスイートに追加できます。
詳細については、以下を参照してください:Webpack プラグインテスト。