Skip to main content

测试

配置 Jest

jest.config.js
module.exports = {
preset: '@summer-js/test',
testPathIgnorePatterns: ['<rootDir>/src/']
}

测试控制器

import { request } from '@summer-js/test'

describe('Test Movie Controller', () => {

test('should return movie list', async () => {
const response = await request.get('/movies')
expect(response.statusCode).toEqual(200)
expect(response.body).toStrictEqual([])
})
})

测试服务

import { getInjectable } from '@summer-js/summer'

import { MovieService } from './../service/person-service'

describe('Test Movie Service', () => {
let movieService: MovieService

beforeAll(async () => {
movieService = getInjectable(MovieService)
})

test('should return movie list', async () => {
const movies = await movieService.getMovies()
expect(movies.length).toBe(12)
})
})

设置请求头

import { request } from '@summer-js/test'

describe('Test Movie Controller', () => {
// init header
request.setHeaders({ Authorization: 'Bearer xxxxxxxxxxxx' })

test('should return movie list', async () => {
const response = await request.get('/movies')
expect(response.statusCode).toEqual(200)
})
})

打印 Debug 信息

import { request } from '@summer-js/test'

describe('Test Movie Controller', () => {

test('should return movie list', async () => {
const response = await request.get('/movies')
response.print()
expect(response.statusCode).toEqual(200)
})
})