Skip to content

Deprecated: A pytest plugin for running failing tests one at a time

License

Notifications You must be signed in to change notification settings

nip3o/pytest-stepwise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecated: pytest-stepwise is now bundled with pytest

Since pytest 3.10 this plugin has been merged into pytest itself, so you don't even need a plugin! See https://docs.pytest.org/en/latest/cache.html#stepwise

Introduction

pytest-stepwise is a plugin for pytest that run all tests until a test fails, and then continue next test run from where the last run failed. You may think of it as a combination of the -x option (which exits the test run after a failing test) and the --lf option from pytest-cache (which only runs failing tests), except that it does not restart the test run from the beginning as soon as a test passes.

How to use it?

  1. Install the plugin - pip install pytest-stepwise.
  2. Run py.test --stepwise (you can also use the alias --sw).
  3. Watch the test fail and fix it.
  4. Run py.test --stepwise again. The test suite will continue to run right from where it was.

Use the --skip option to ignore one failing test and stop the test execution on the second failing test instead. This is useful if you get stuck on a failing test and just want to ignore it until later.

When is this useful?

pytest-stepwise was written for use when a large part of the test suite is failing. In this case, pytest-stepwise allows you to focus on fixing one test at the time instead of being overwhelmed by all failing tests. It should however be noted that all tests need to be re-run after to make sure that any changes made when fixing one test has not broken some other test.

Please submit an issue if you have any suggestions regarding use cases of pytest-stepwise.

Compatibility

pytest-stepwise is compatible with pytest 2.2 -> 2.8. For pytest 2.7 and earlier, pytest-cache is required as a dependency.

Changelog

  • 0.1 - Initial version.
  • 0.2 - Clear cache after test run when the plugin is not active. Added --skip option.
  • 0.3 - Fixed issue when failing tests are removed. Fixed compatibility with --pdb option. Stop on errors as well as on test failures.
  • 0.4 - Refactoring, pytest 2.8 compatiblity. Stop test execution on collection errors.

About

Deprecated: A pytest plugin for running failing tests one at a time

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages