New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

bashunit

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bashunit

A simple testing library for bash scripts.

Source
npmnpm
Version
0.46.0
Version published
Weekly downloads
1.3K
159.34%
Maintainers
1
Weekly downloads
 
Created
Source

Tests Static analysis Editorconfig checker MIT Software License


bashunit

A simple testing framework for bash scripts

Test your bash scripts in the fastest and simplest way.

Why bashunit

A lightweight, fast testing framework for Bash 3.0+, focused on developer experience. It ships 84 assertions plus spies, mocks, data providers, snapshots and more.

Quick start

Install the latest version into your project:

curl -s https://bashunit.com/install.sh | bash

Write a test in tests/example_test.sh:

#!/usr/bin/env bash

function test_bashunit_is_working() {
  assert_same "bashunit is working" "bashunit is working"
}

Run it:

./lib/bashunit tests/

Prefer learning by doing? Run ./lib/bashunit learn for an interactive tutorial.

Assertions at a glance

One representative example per family — the full catalogue and every signature is at bashunit.com/assertions, or run bashunit doc locally:

FamilyExample
Equality & truthassert_equals "foo" "$actual"
Stringsassert_string_starts_with "Hello" "$greeting"
Exit codesassert_exit_code "1" (checks $? of the previous command)
Numericassert_greater_than "1" "$count"
Arraysassert_array_length 3 "${my_array[@]}"
Files & dirsassert_file_permissions 644 "$file"
JSON (needs jq)assert_json_contains ".name" "bashunit" "$json"
Datesassert_date_before "2026-01-01" "$date"
Durationassert_duration_less_than "echo hello" 500
Snapshotsassert_match_snapshot "$(my_cmd)"
Test doublesassert_have_been_called_times 2 my_fn

Documentation

Full documentation, covering installation options, every feature and examples, lives at bashunit.com.

Shell tab-completion for bash and zsh is available under completions/ — see the installation docs.

Using an AI coding agent? bashunit.com/ai-agents covers machine-readable results and the API traps that make generated bash tests pass for the wrong reason. The docs are also published as plain text at llms.txt and llms-full.txt, with a drop-in skill at bashunit-skill.md.

Contribute

Issues, ideas and pull requests are welcome. See the contribution guide to set up your environment.

Keywords

bash

FAQs

Package last updated on 11 Aug 2026

Related posts