Skip to content

Julia Test ItemsA modern testing framework for Julia

Write standalone test items, run them anywhere — VS Code, REPL, command line, or CI.

VS Code with test items, inline results, and code coverage

Rich VS Code Integration

Discover test items automatically as you type. Run them individually with a click and see results inline — failed assertions show expected vs. actual values right in the editor. Line-level code coverage highlights which code paths your tests exercise.

VS Code showing test explorer, inline test failure diffs, and line-level code coverage annotations

Interactive REPL Runner

Run test items directly from the Julia REPL with an interactive interface. Filter by name or tag, see live progress, and inspect results — all without leaving the terminal. (Prerelease)

Julia REPL running test items interactively with live progress and results

Batteries-Included CI

A single reusable workflow gives you linting, testing across a full Julia version and platform matrix, documentation deployment, CompatHelper, and TagBot — all configured in one YAML file.

GitHub Actions workflow showing lint, test matrix, report results, and automation stages

Simple to Write

Define independent test items anywhere in your package. Each one is self-contained and runnable on its own.

julia
@testitem "CSV parsing" tags=[:parser] begin
    data = parsecsv("name,age\nAlice,30\nBob,25")

    @test length(data) == 2
    @test data[1].name == "Alice"
    @test data[2].age == 25
end

The Test Item Ecosystem

  • TestItems.jl — The core @testitem, @testmodule, and @testsnippet macros.
  • Julia VS Code Extension — Rich editor integration with inline results, debugging, and coverage.
  • TestItemRunner.jl — Run test items from the command line via Pkg.test.
  • TestItemREPL.jl — Interactive REPL runner with live progress and result inspection. (Prerelease)
  • testitem-workflow — Reusable GitHub Workflow for CI with version matrix support.

Released under the MIT License.