Jest 平台

2021-09-18 11:56 更新

你可以挑选 Jest 的特定功能并将它们用作独立包。以下是可用软件包的列表:

已更改文件

用于识别 git/hg 存储库中已修改文件的工具。导出两个函数:

  • getChangedFilesForRoots ​返回一个承诺,该承诺解析为具有更改文件和存储库的对象。
  • findRepos ​返回解析为指定路径中包含的一组存储库的承诺。

例子

  1. const {getChangedFilesForRoots} = require('jest-changed-files');
  2. // 打印出当前目录最后修改过的一组文件
  3. getChangedFilesForRoots(['./'], {
  4. lastCommit: true,
  5. }).then(result => console.log(result.changedFiles));

可以​在自述文件中阅读更多相关jest-changed-files​信息。

差异

可视化数据变化的工具。导出一个函数,该函数比较任何类型的两个值,并返回一个“pretty printed”的字符串,说明两个参数之间的差异。

例子

  1. const diff = require('jest-diff').default;
  2. const a = {a: {b: {c: 5}}};
  3. const b = {a: {b: {c: 6}}};
  4. const result = diff(a, b);
  5. // print diff
  6. console.log(result);

Docblock

用于提取和解析 JavaScript 文件顶部注释的工具。导出各种函数来操作注释块内的数据。

例子

  1. const {parseWithComments} = require('jest-docblock');
  2. const code = `
  3. /**
  4. * This is a sample
  5. *
  6. * @flow
  7. */
  8. console.log('Hello World!');
  9. `;
  10. const parsed = parseWithComments(code);
  11. // prints an object with two attributes: comments and pragmas.
  12. console.log(parsed);

可以​在自述文件中阅读更多相关jest-docblock​信息。

获取类型

标识任何 JavaScript 值的原始类型的模块。导出一个函数,该函数返回一个字符串,该字符串具有作为参数传递的值的类型。

例子

  1. const getType = require('jest-get-type');
  2. const array = [1, 2, 3];
  3. const nullValue = null;
  4. const undefinedValue = undefined;
  5. // prints 'array'
  6. console.log(getType(array));
  7. // prints 'null'
  8. console.log(getType(nullValue));
  9. // prints 'undefined'
  10. console.log(getType(undefinedValue));

验证

用于验证用户提交的配置的工具。 导出具有两个参数的函数:用户配置和包含示例配置和其他选项的对象。返回值是具有两个属性的对象:

  • hasDeprecationWarnings​,一个布尔值,指示提交的配置是否有弃用警告,
  • isValid​, 一个布尔值, 指示配置是否正确。

例子

  1. const {validate} = require('jest-validate');
  2. const configByUser = {
  3. transform: '<rootDir>/node_modules/my-custom-transform',
  4. };
  5. const result = validate(configByUser, {
  6. comment: ' Documentation: http://custom-docs.com',
  7. exampleConfig: {transform: '<rootDir>/node_modules/babel-jest'},
  8. });
  9. console.log(result);

可以​在自述文件中阅读更多相关jest-validate​信息。

worker

用于任务并行化的模块。出口类​JestWorker​是需要的Node.js模块的路径,并允许你调用模块的导出的方法,好像他们是类方法,返回一个 Promise,消除了在所指定的方法完成它的执行在分叉过程。

例子

  1. // heavy-task.js
  2. module.exports = {
  3. myHeavyTask: args => {
  4. // long running CPU intensive task.
  5. },
  6. };
  1. // main.js
  2. async function main() {
  3. const worker = new Worker(require.resolve('./heavy-task.js'));
  4. // run 2 tasks in parallel with different arguments
  5. const results = await Promise.all([
  6. worker.myHeavyTask({foo: 'bar'}),
  7. worker.myHeavyTask({bar: 'foo'}),
  8. ]);
  9. console.log(results);
  10. }
  11. main();

可以在自述文件中阅读更多相关​jest-worker​信息。

格式

导出并将任何 JavaScript 值转换为人类可读字符串的函数。开箱即用地支持所有内置 JavaScript 类型,并允许通过用户定义的插件扩展特定于应用程序的类型。

例子

  1. const prettyFormat = require('pretty-format');
  2. const val = {object: {}};
  3. val.circularReference = val;
  4. val[Symbol('foo')] = 'foo';
  5. val.map = new Map([['prop', 'value']]);
  6. val.array = [-0, Infinity, NaN];
  7. console.log(prettyFormat(val));

可以​在自述文件中阅读更多pretty-format​相关信息。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号