Part of twisted View Source
Asynchronous unit testing framework.
Trial extends Python's builtin unittest to provide support 
for asynchronous tests.
Maintainer: Jonathan Lange
Trial strives to be compatible with other Python xUnit testing frameworks. "Compatibility" is a difficult things to define. In practice, it means that:twisted.trial.unittest.TestCase
    objects should be able to be used by other test runners without those 
    runners requiring special support for Trial tests.
  TestCase and 
    don't do anything "too weird" should be able to be 
    discoverable and runnable by the Trial test runner without the authors 
    of those tests having to jump through hoops.
  TestCase should be runnable by the Trial runner.
  unittest.TestCase
    objects ought to be able to use standard library 
    TestResult objects, and third party 
    TestResult objects based on the standard library.
  This list is not necessarily exhaustive -- compatibility is hard to define. Contributors who discover more helpful ways of defining compatibility are encouraged to update this document.
Examples:
Timeouts for tests should be implemented in the runner. If this 
is done, then timeouts could work for third-party TestCase objects as well 
as for twisted.trial.unittest.TestCase
objects. Further, Twisted TestCase objects will run in other 
runners without timing out. See http://twistedmatrix.com/trac/ticket/2675.
| Module | itrial | Interfaces for Trial. | 
| Module | reporter | Defines classes that handle the results of tests. | 
| Module | runner | A miscellany of code used to run Trial tests. | 
| Module | unittest | Things likely to be used by writers of unit tests. | 
| Module | util | A collection of utility functions and classes, used internally by Trial. |