Skip to main content

执行单元测试

命令

使用skr test可以使用jest执行单元测试。

参数

--cwd [value]     指定当前工作目录,默认为当前目录
--config [value] 使用指定的配置文件,默认查找reskript.config.{ts,mjs}
--target [value] 指定单测的运行时环境,可以为react或node,默认是node
-h, --help 显示帮助信息

skr test可以输入一系列的路径指定测试范围,如skr test src/utils表示仅运行src/utils下的单元测试。

在实现上,skr test使用了jest作为测试框架,你可以传递任何jest可接受的参数,这些参数必须放置在--之后,如:

skr test --target=react src/components -- --coverage --maxWorkers=3 --maxConcurrency 2

注意一定要把传给jest的参数放在--后面。如果你使用npm run test来启动skr test,则需要再多写一个--,像这样子:

# 注意有连续的2个"--"
npm run test --target=react src/components -- -- --coverage --maxWorkers=3 --maxConcurrency 2

测试组件

如果要对组件测试,你需要使用skr test --target=react来跑。在这个模式下,会引入enzyme,并且会切换到jsdom作为运行时,执行的性能会有比较大的下降。

你可以与testing-library整合来进行组件与hook的单元测试。

enzyme当前并没有针对react@17的适配,但我们发现大部分的单元测试也跑得起来。