由于 Rspack 使用了 Rust 和 Node.js 代码的混合,因此对每种代码都采用了不同的测试策略。
Rust 测试用例仅适用于单元测试。要测试完整的构建过程,请添加 Node.js 测试用例。
您可以使用 ./x test rust
或 cargo test
运行 Rust 代码的测试用例。
测试用例写在 Rust 代码中。例如
更多信息,请参考:Rust: 如何编写测试
Node.js 测试提供三个测试套件
Rspack 将整个 Webpack 测试套件复制到 tests/webpack-test
文件夹中,以检查与 webpack 的兼容性。如果您需要添加新的测试用例,建议首先检查该文件夹中是否存在该用例。您可以通过删除 test.filter.js
文件或将其返回值修改为 true
来启用测试用例。
您可以通过在根文件夹中运行 ./x test webpack
或 pnpm run test:webpack
来运行 Webpack 测试。
如果您遇到任何问题,请不要修改 Webpack 测试用例的原始代码。您可以将其复制,然后按照 Rspack 测试 的方法在 packages/rspack-test-tools/tests
中创建新的测试用例。
更多详细信息,请参考:Webpack 测试.
Rspack 的测试用例存储在 packages/rspack-test-tools/tests
文件夹中,包括独特的测试用例以及需要修改的 Webpack 和 Webpack 插件用例。
您可以通过在根文件夹中运行 ./x test unit
或 pnpm run test:unit
来运行 Rspack 测试。
您也可以进入 packages/rspack-test-tools
文件夹并运行 npm run test
来运行测试用例并添加一些参数
-u
,例如 npm run test -- -u
-t
,例如 npm run test -- -t config/asset
仅运行来自 packages/rspack-test-tools/configCases/asset
文件夹的测试用例(config
会自动映射到 configCases
,其他文件夹也类似)。模式匹配支持正则表达式,详情请参见 jest.更多详细信息,请参考:Rspack 测试.
由于实现差异和性能考虑,Rspack 内部将支持一些 Webpack 插件。同样,这些插件的测试套件也被复制到 tests/plugin-test
文件夹中,以测试插件的兼容性。
您可以通过在根文件夹中运行 ./x test plugin
或 pnpm run test:plugin
来运行 Webpack 插件测试。
在大多数情况下,即使您修改了相应插件的功能,您也只需要按照 Rspack 测试 的方法添加新的测试用例。
只有当您原生实现了一个新的 Webpack 插件并需要复制其测试用例时,您才能将其添加到此套件中。
更多详细信息,请参考:Webpack 插件测试.