node调用jest
16 February 2018

因为jest官网没有介绍node里调用jest的文档,只给出了cli和npm命令通过配置文件调用的方式,故将通过阅读源码获取的node调用jest的方式记录下来。

入口

jest执行测试需要调用内部接口runCLI

import { runCLI } from 'jest'
runCLI(argv, projects)
  • argv(object): 配置参数
  • projects(array): 被测试文件所在文件夹路径,一般与argv.projects项一致
  • return(promise): 返回promise表示测试进行状态

配置

上文中的argv参数列表和意义请参考: Configuring Jest

argv各项类型: https://github.com/facebook/jest/blob/master/types/Argv.js

argv参数示例请参考: https://github.com/facebook/jest/blob/master/packages/jest-config/src/valid_config.js

默认参数:https://github.com/facebook/jest/blob/master/packages/jest-config/src/defaults.js

需要注意的是如果argv的某一项类型是object,需要做JSON.stringify转化成字符串

主要就是调用时需要找到入口和传参,其他的在Node端运行就没有障碍了。