testtools 0.9.9

Milestone information

Project:
testtools
Series:
0.9
Version:
0.9.9
Released:
 
Registrant:
Jonathan Lange
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
2 Christian Kampka, 1 Jelmer Vernooij, 6 Jonathan Lange, 2 Robert Collins
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
11 Fix Released

Download files for this release

File Description Downloads

Release notes 

Many, many new matchers, vastly expanded documentation, stacks of bug fixes, better unittest2 integration. If you've ever wanted to try out testtools but been afraid to do so, this is the release to try.

Changelog 

View the full changelog

Changes
-------

* The timestamps generated by ``TestResult`` objects when no timing data has
  been received are now datetime-with-timezone, which allows them to be
  sensibly serialised and transported. (Robert Collins, #692297)

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

* ``AnnotatedMismatch`` now correctly returns details.
  (Jonathan Lange, #724691)

* distutils integration for the testtools test runner. Can now use it for
  'python setup.py test'. (Christian Kampka, #693773)

* ``EndsWith`` and ``KeysEqual`` now in testtools.matchers.__all__.
  (Jonathan Lange, #692158)

* ``MatchesException`` extended to support a regular expression check against
  the str() of a raised exception. (Jonathan Lange)

* ``MultiTestResult`` now forwards the ``time`` API. (Robert Collins, #692294)

* ``MultiTestResult`` now documented in the manual. (Jonathan Lange, #661116)

* New content helpers ``content_from_file``, ``content_from_stream`` and
  ``attach_file`` make it easier to attach file-like objects to a
  test. (Jonathan Lange, Robert Collins, #694126)

* New ``ExpectedException`` context manager to help write tests against things
  that are expected to raise exceptions. (Aaron Bentley)

* New matchers:

  * ``MatchesListwise`` matches an iterable of matchers against an iterable
    of values. (Michael Hudson-Doyle)

  * ``MatchesRegex`` matches a string against a regular expression.
    (Michael Hudson-Doyle)

  * ``MatchesStructure`` matches attributes of an object against given
    matchers. (Michael Hudson-Doyle)

  * ``AfterPreproccessing`` matches values against a matcher after passing them
    through a callable. (Michael Hudson-Doyle)

  * ``MatchesSetwise`` matches an iterable of matchers against an iterable of
    values, without regard to order. (Michael Hudson-Doyle)

* ``setup.py`` can now build a snapshot when Bazaar is installed but the tree
  is not a Bazaar tree. (Jelmer Vernooij)

* Support for running tests using distutils (Christian Kampka, #726539)

* Vastly improved and extended documentation. (Jonathan Lange)

* Use unittest2 exception classes if available. (Jelmer Vernooij)

0 blueprints and 11 bugs targeted

Bug report Importance Assignee Status
692297 #692297 TestResult._now uses non-tz datetimes 2 Critical Robert Collins  10 Fix Released
724691 #724691 AnnotatedMismatch hides get_details 3 High Jonathan Lange  10 Fix Released
726539 #726539 test command broken 3 High Christian Kampka  10 Fix Released
685680 #685680 inconsistency between manual and testtools.TestResult.startTestRun behaviour 4 Medium Jonathan Lange  10 Fix Released
692158 #692158 matchers __all__ is missing EndsWith and maybe other matchers 4 Medium Jonathan Lange  10 Fix Released
692294 #692294 MultiTestResult fails to forward time() calls 4 Medium Robert Collins  10 Fix Released
726537 #726537 unable to build snapshot without bzr working tree 4 Medium Jelmer Vernooij  10 Fix Released
661116 #661116 MultiTestResult not documented 6 Wishlist Jonathan Lange  10 Fix Released
688623 #688623 Overview document 6 Wishlist Jonathan Lange  10 Fix Released
693773 #693773 [PATCH] Testtools should provide distutils integration 6 Wishlist Christian Kampka  10 Fix Released
694126 #694126 Convenience method for attaching files as details 6 Wishlist Jonathan Lange  10 Fix Released
This milestone contains Public information
Everyone can see this information.