Testing for the Real World, Done Right

What is Slash?

Slash is a testing framework written in Python, intended for testing large scale projects, especially in integration scenarios.

Slash focuses on customization and extensibility, allow you to tailor the framework for your specific needs, making it your testing framework.

Session Consistency

Slash puts a strong emphasis not only on your tests, but also on what happens before, after and in between. It allows you to maintain state, cleanup stacks, exception handling hooks and other pieces of logic that grasp your testing project as a whole


Slash has first class support for plugins which are easy to write, load and maintain.

Plugins can have their own configuration, interact with the command-line, hook into various steps of the suite execution and more, allowing you to truly take control of your framework


Slash supports a wide range of customization options - from a rich configuration mechanism, through a robust hook/callback system and multiple locations to write your customizations down.

Customizations can be easily added on a per-user, per-project or ad-hoc basis -- allowing developers maximum flexibility and control over the end result.


Slash comes with powerful tools and facilities to help you write your tests in an efficiently and concisely. You can parametrize your tests automatically, use fixtures to describe test setups, manage cleanups on multiple scopes and much, much more.


Real world projects use real-world Python distributions, so we take great care to maintain Python version compatibility, all the way back to 2.6 which is still found on old production distros. We even support pypy!

Open Source

Slash is and always will be free and open source software, released under the BSD 3-clause license.


Slash is heavily tested using a continuously growing suite of hundreds of internal tests. We also eat our own dogfood and use it in our own projects.

Ready to Get Started?

  1. Install via pip:
    pip install slash
  2. Write your first test:
    def test_something():
        assert 2 + 2 == 4
  3. Run your tests:
    slash run ./
  4. There's A LOT more to Slash than this! Go through the documentation to learn more!