Commit graph

3 commits

Author SHA1 Message Date
obache
c32c4024ad Update py-testtools to 0.9.12.
0.9.12
~~~~~~

This is a very big release.  We've made huge improvements on three fronts:
 1. Test failures are way nicer and easier to read
 2. Matchers and ``assertThat`` are much more convenient to use
 3. Correct handling of extended unicode characters

We've trimmed off the fat from the stack trace you get when tests fail, we've
cut out the bits of error messages that just didn't help, we've made it easier
to annotate mismatch failures, to compare complex objects and to match raised
exceptions.

Testing code was never this fun.

Changes
-------

* ``AfterPreproccessing`` renamed to ``AfterPreprocessing``, which is a more
  correct spelling.  Old name preserved for backwards compatibility, but is
  now deprecated.  Please stop using it.
  (Jonathan Lange, #813460)

* ``assertThat`` raises ``MismatchError`` instead of
  ``TestCase.failureException``.  ``MismatchError`` is a subclass of
  ``AssertionError``, so in most cases this change will not matter. However,
  if ``self.failureException`` has been set to a non-default value, then
  mismatches will become test errors rather than test failures.

* ``gather_details`` takes two dicts, rather than two detailed objects.
  (Jonathan Lange, #801027)

* ``MatchesRegex`` mismatch now says "<value> does not match /<regex>/" rather
  than "<regex> did not match <value>". The regular expression contains fewer
  backslashes too. (Jonathan Lange, #818079)

* Tests that run with ``AsynchronousDeferredRunTest`` now have the ``reactor``
  attribute set to the running reactor. (Jonathan Lange, #720749)

Improvements
------------

* All public matchers are now in ``testtools.matchers.__all__``.
  (Jonathan Lange, #784859)

* ``assertThat`` can actually display mismatches and matchers that contain
  extended unicode characters. (Jonathan Lange, Martin [gz], #804127)

* ``assertThat`` output is much less verbose, displaying only what the mismatch
  tells us to display. Old-style verbose output can be had by passing
  ``verbose=True`` to assertThat. (Jonathan Lange, #675323, #593190)

* ``assertThat`` accepts a message which will be used to annotate the matcher.
  This can be given as a third parameter or as a keyword parameter.
  (Robert Collins)

* Automated the Launchpad part of the release process.
  (Jonathan Lange, #623486)

* Correctly display non-ASCII unicode output on terminals that claim to have a
  unicode encoding. (Martin [gz], #804122)

* ``DocTestMatches`` correctly handles unicode output from examples, rather
  than raising an error. (Martin [gz], #764170)

* ``ErrorHolder`` and ``PlaceHolder`` added to docs. (Jonathan Lange, #816597)

* ``ExpectedException`` now matches any exception of the given type by
  default, and also allows specifying a ``Matcher`` rather than a mere regular
  expression. (Jonathan Lange, #791889)

* ``FixtureSuite`` added, allows test suites to run with a given fixture.
  (Jonathan Lange)

* Hide testtools's own stack frames when displaying tracebacks, making it
  easier for test authors to focus on their errors.
  (Jonathan Lange, Martin [gz], #788974)

* Less boilerplate displayed in test failures and errors.
  (Jonathan Lange, #660852)

* ``MatchesException`` now allows you to match exceptions against any matcher,
  rather than just regular expressions.  (Jonathan Lange, #791889)

* ``MatchesException`` now permits a tuple of types rather than a single type
  (when using the type matching mode).  (Robert Collins)

* ``MatchesStructure.byEquality`` added to make the common case of matching
  many attributes by equality much easier.  ``MatchesStructure.byMatcher``
  added in case folk want to match by things other than equality.
  (Jonathan Lange)

* New convenience assertions, ``assertIsNone`` and ``assertIsNotNone``.
  (Christian Kampka)

* New matchers:

  * ``AllMatch`` matches many values against a single matcher.
    (Jonathan Lange, #615108)

  * ``Contains``. (Robert Collins)

  * ``GreaterThan``. (Christian Kampka)

* New helper, ``safe_hasattr`` added. (Jonathan Lange)

* ``reraise`` added to ``testtools.compat``. (Jonathan Lange)
2011-10-07 10:45:06 +00:00
dholland
9804da090b does not build with python24 2011-10-02 15:54:22 +00:00
obache
d174f514b4 Import py-testtools-0.9.11 as devel/py-testtools.
testtools is a set of extensions to the Python standard library's unit testing
framework. These extensions have been derived from many years of experience
with unit testing in Python and come from many different sources. testtools
also ports recent unittest changes all the way back to Python 2.4.
2011-07-22 14:15:01 +00:00