Nimoy
A testing and specification framework for Python 3
Install / Use
/learn @browncoat-ninjas/NimoyREADME
= Nimoy
A testing and specification framework for Python 3, heavily inspired by the amazing http://spockframework.org/[Spock Framework].
image:https://badge.fury.io/py/nimoy-framework.svg["PyPI version", link="https://badge.fury.io/py/nimoy-framework"] image:https://circleci.com/gh/browncoat-ninjas/nimoy/tree/develop.svg?style=svg["CircleCI", link="https://circleci.com/gh/browncoat-ninjas/nimoy/tree/develop"]
== Better Python Testing
Powerful Python DDT (Domain Driven Testing) made easy with Nimoy's DSL:
from nimoy.specification import Specification
class MySpec(Specification):
def my_feature_method(self):
with given:
a = value_of_a
b = value_of_b
with expect:
(a * b) == expected_value
with where:
value_of_a | value_of_b | expected_value
1 | 10 | 10
2 | 20 | 40
== Installation
=== Python 3.8 or earlier
pip install nimoy-framework==1.0.2
=== Python 3.9 or later
pip install nimoy-framework
== Why?
The http://spockframework.org/[Spock Framework] has set a new standard as to what testing frameworks should be like - beautiful, expressive, pragmatic and fun.
While unittest, https://github.com/pytest-dev/pytest[pytest] and https://github.com/nose-devs/nose2[nose2] are great, there's still room for improvement.
The aim of this project is to port Spock to Python while maintaining the original vision as much as possible.
== Features
- Domain Driven Testing
- Based on
unittest, so minimal dependencies are required and specifications are recognized by IDEs and report analyzers. - Reduction of boilerplate code.
- Write detailed specifications with clear distinction.
- Auto discovery of specifications.
- Write data-driven specifications.
- Pretty mock behavior assertion.
- See fancy detailed assertion failure reports including power assertions.
== Learn More
- https://browncoat-ninjas.github.io/nimoy/[About]
- https://browncoat-ninjas.github.io/nimoy/user-guide/[User Guide]
- https://browncoat-ninjas.github.io/nimoy/examples/[Examples]
- https://browncoat-ninjas.github.io/nimoy/contributing/[Contributing]
== License
Apache License 2.0
== In memory of Leonard Nimoy 1931-2015
Related Skills
gh-issues
352.0kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
352.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
111.1kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
