dorkhub

zunit

A powerful testing framework for ZSH projects

zunit-zsh
Shell22626 forksMITupdated 2 years ago
visit the demogit clone https://github.com/zunit-zsh/zunit.gitzunit-zsh/zunit

ZUnit

GitHub release Build Status Gitter

ZUnit is a powerful unit testing framework for ZSH

Installation

WARNING: Although the majority of ZUnit's functionality works as expected, it is in the early stages of development, and as such bugs are likely to be present. Please continue with caution, and report any issues you may have.

Zulu

zulu install zunit

NOTE: In versions of Zulu prior to 1.2.0, there is an additional step required after install:

cd ~/.zulu/packages/zunit
./build.zsh
zulu link zunit

zplug

ZUnit and its dependencies can all be installed with zplug.

zplug 'molovo/revolver', \
  as:command, \
  use:revolver
zplug 'zunit-zsh/zunit', \
  as:command, \
  use:zunit, \
  hook-build:'./build.zsh'

Homebrew

brew install zunit-zsh/zunit/zunit

Manual

git clone https://github.com/zunit-zsh/zunit
cd ./zunit
./build.zsh
chmod u+x ./zunit
cp ./zunit /usr/local/bin

ZUnit requires Revolver to be installed, and in your $PATH. The zulu or homebrew installation methods will install this dependency for you.

Writing Tests

Test syntax

Tests in ZUnit have a simple syntax, which is inspired by the BATS framework.

#!/usr/bin/env zunit

@test 'My first test' {
	# Test contents here
}

The body of each test can contain any valid ZSH code. The zunit shebang #!/usr/bin/env zunit MUST appear at the top of each test file, or ZUnit will not run it.

Documentation

For a full breakdown of ZUnit's syntax and functionality, check out the official documentation.

Contributing

All contributions are welcome, and encouraged. Please read our contribution guidelines and code of conduct for more information.

License

Copyright (c) 2016 James Dinsdale hi@molovo.co (molovo.co)

ZUnit is licensed under The MIT License (MIT)

Team

more like this

xylocopa

A to-do list that runs your Claude Code agents — capture anywhere, dispatch in parallel, review from your phone.

Python51

Agent-Signal-Bar

本地优先的 macOS AI Agent 信号灯:状态栏 + 桌面悬浮信号灯,自动监控 Codex / Claude Code。Local menu bar and floating desktop status lights for A…

Swift53

Binderly

Open-source Markdown workbench: live preview, GitHub-accurate themes, Mermaid diagrams, and page-perfect PDF export. No…

TypeScript54

run-kit

A remote, phone-first console for your tmux — agent-agnostic, no database. Spawn and watch coding agents in parallel wo…

TypeScript55

search

search projects, people, and tags