执行单元测试
命令
使用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
的适配,但我们发现大部分的单元测试也跑得起来。