Test Structure & Basics in Jest

From the Jest cheat sheet · Basic Testing · verified Jul 2026

Test Structure & Basics

Organizing tests with describe, it, and test blocks

javascript
// Basic test structure
describe('Calculator', () => {
  test('adds 1 + 2 to equal 3', () => {
    expect(1 + 2).toBe(3)
  })

  it('subtracts 5 - 2 to equal 3', () => {
    expect(5 - 2).toBe(3)
  })
})

// Setup and teardown
describe('User Service', () => {
  let service

  beforeEach(() => {
    service = new UserService()
  })

  afterEach(() => {
    service.cleanup()
  })

  beforeAll(async () => {
    await database.connect()
  })

  afterAll(async () => {
    await database.disconnect()
  })
})
💡 Use describe blocks to group related tests logically
⚡ beforeEach/afterEach run for every test, beforeAll/afterAll run once
📌 test and it are aliases - use whichever reads better
🟢 Use test.only to focus on a single test during development
basicsstructure
Back to the full Jest cheat sheet