1. Petar Maric
  2. nose_extra_tools

Overview

HTTPS SSH

About

Extra testing goodies for nose.tools.

Adds an issues_warnings decorator, where tests must issue one of the expected warnings to pass (similar to nose.tools.raises for exceptions).

If installed on Python < 2.7 backports the new unittest.TestCase.assert* methods, and converts them to nose style assertions (spelled in PEP 8 fashion, so assert_equal rather than assertEqual):

  • assert_greater / assert_less / assert_greater_equal / assert_less_equal
  • assert_regexp_matches / assert_not_regexp_matches
  • assert_in / assert_not_in
  • assert_is / assert_is_not
  • assert_is_none / assert_is_not_none
  • assert_dict_contains_subset
  • and more....

Installation

To install nose_extra_tools run:

$ pip install nose_extra_tools

Usage examples

from nose_extra_tools import assert_in, issues_warnings

@issues_warnings(UserWarning, DeprecationWarning)
def test_issues_deprecation_warning():
    import warnings
    warnings.warn('This test passes')

@issues_warnings(Warning)
def test_forgot_to_issue_warning():
    pass

def test_backported_assert_in():
    assert_in(10, range(5))

Contribute

If you find any bugs, or wish to propose new features please let me know.

If you'd like to contribute, simply fork the repository, commit your changes and send a pull request. Make sure you add yourself to AUTHORS.