ANN: Oktest-0.2.2 - a new-style testing library

Makoto Kuwata kwa at kuwata-lab.com
Sun Apr 25 08:21:35 EDT 2010


Hi,
I released Oktest 0.2.2.

http://packages.python.org/Oktest/
http://pypi.python.org/pypi/Oktest/


Overview
--------

Oktest is a new-style testing library for Python.
::

    from oktest import ok
    ok (x) > 0                 # same as assert_(x > 0)
    ok (s) == 'foo'            # same as assertEqual(s, 'foo')
    ok (s) != 'foo'            # same as assertNotEqual(s, 'foo')
    ok (f).raises(ValueError)  # same as assertRaises(ValueError, f)
    ok (u'foo').is_a(unicode)  # same as assert_(isinstance(u'foo', unicode))
    not_ok (u'foo').is_a(int)  # same as assert_(not isinstance(u'foo', int))
    ok ('A.txt').is_file()     # same as assert_(os.path.isfile('A.txt'))
    not_ok ('A.txt').is_dir()  # same as assert_(not os.path.isdir('A.txt'))

You can use ok() instead of 'assertXxx()' in unittest.

Oktest requires Python 2.3 or later. Oktest is ready for Python 3.

NOTICE!! Oktest is a young project and specification may change in the future.

See http://packages.python.org/Oktest/ for details.


Changes
-------

* Enhanced to set 'f.exception' after 'ok (f).raises(Exception)'
  to get raised exception object. For example::

      def f():
        int('foobar')
      ok (f).raises(ValueError)
      ok (f.exception.message) == "invalid literal for int() with base
10: 'foobar'"

* Changed to flush output after '.'/'f'/'E' printed

* Change to get exception message by 'str(ex)' instead of 'ex.message'


Have fun!

--
regards,
makoto kuwata



More information about the Python-list mailing list