Jest Platform

https://jestjs.io/docs/jest-platform

Bạn có thể chọn các tính năng cụ thể của Jest và sử dụng chúng như các gói độc lập. Đây là danh sách các gói có sẵn:

jest-changed-files

Công cụ để xác định các tệp đã sửa đổi trong kho lưu trữ git / hg. Xuất hai chức năng:

getChangedFilesForRoots trả về một lời hứa sẽ phân giải thành một đối tượng với các tệp và kho đã thay đổi. findRepos trả về một lời hứa giải quyết một tập hợp các kho chứa trong đường dẫn được chỉ định.

Example

const {getChangedFilesForRoots} = require('jest-changed-files');
// print the set of modified files since last commit in the current repo
getChangedFilesForRoots(['./'], {
  lastCommit: true,
}).then(result => console.log(result.changedFiles));

jest-diff

Công cụ để hiển thị trực quan các thay đổi trong dữ liệu. Xuất một hàm so sánh hai giá trị thuộc bất kỳ kiểu nào và trả về một chuỗi "in đẹp" minh họa sự khác biệt giữa hai đối số.

Example

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

jest-docblock

Công cụ để trích xuất và phân tích cú pháp các nhận xét ở đầu tệp JavaScript. Xuất các chức năng khác nhau để thao tác dữ liệu bên trong khối bình luận.

Example

const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
const {parseWithComments} = require('jest-docblock');
const code = `
/**
 * This is a sample
 *
 * @flow
 */
 console.log('Hello World!');
`;
const parsed = parseWithComments(code);

// prints an object with two attributes: comments and pragmas.
console.log(parsed);

jest-get-type

Mô-đun xác định kiểu nguyên thủy của bất kỳ giá trị JavaScript nào. Xuất một hàm trả về một chuỗi có kiểu giá trị được truyền dưới dạng đối số.

Example

const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
const {getType} = require('jest-get-type');
const array = [1, 2, 3];
const nullValue = null;
const undefinedValue = undefined;

// prints 'array'
console.log(getType(array));
// prints 'null'
console.log(getType(nullValue));
// prints 'undefined'
console.log(getType(undefinedValue));

jest-validate

Công cụ xác thực cấu hình do người dùng gửi. Xuất một hàm có hai đối số: cấu hình của người dùng và một đối tượng chứa cấu hình ví dụ và các tùy chọn khác. Giá trị trả về là một đối tượng có hai thuộc tính:

hasDeprecationWarnings, một boolean cho biết liệu cấu hình đã gửi có cảnh báo không dùng nữa hay không,

isValid, một boolean cho biết cấu hình có đúng hay không.

Example

const {validate} = require('jest-validate');
const configByUser = {
  transform: '<rootDir>/node_modules/my-custom-transform',
};

const result = validate(configByUser, {
  comment: '  Documentation: http://custom-docs.com',
  exampleConfig: {transform: '<rootDir>/node_modules/babel-jest'},
});

console.log(result);

jest-worker

Mô-đun được sử dụng để song song hóa các nhiệm vụ. Xuất một lớp JestWorker lấy đường dẫn của mô-đun Node.js và cho phép bạn gọi các phương thức được xuất của mô-đun như thể chúng là các phương thức lớp, trả về một lời hứa sẽ giải quyết khi phương thức được chỉ định kết thúc quá trình thực thi trong một quy trình được phân nhánh.

Example

const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
// main.js
async function main() {
  const worker = new Worker(require.resolve('./heavy-task.js'));

  // run 2 tasks in parallel with different arguments
  const results = await Promise.all([
    worker.myHeavyTask({foo: 'bar'}),
    worker.myHeavyTask({bar: 'foo'}),
  ]);

  console.log(results);
}

main();

pretty-format

Xuất một hàm chuyển đổi bất kỳ giá trị JavaScript nào thành một chuỗi mà con người có thể đọc được. Hỗ trợ tất cả các loại JavaScript tích hợp sẵn và cho phép mở rộng cho các loại ứng dụng cụ thể thông qua các plugin do người dùng xác định.

Example

const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
const {format: prettyFormat} = require('pretty-format');

const val = {object: {}};
val.circularReference = val;
val[Symbol('foo')] = 'foo';
val.map = new Map([['prop', 'value']]);
val.array = [-0, Infinity, NaN];

console.log(prettyFormat(val));

Last updated