tests/pymox/README
author Sverre Rabbelier <srabbelier@gmail.com>
Fri, 13 Feb 2009 19:22:34 +0000
changeset 1298 a04ab9bd300a
parent 1000 9af147fc1f1c
permissions -rw-r--r--
Fixes as requested by Leslie on behalf of the Legal team Upped the copyright statement from 2008 to 2009, and link to the GAE Terms of Service instead of any custom ToS. Patch by: Sverre Rabbelier

Mox is an open source mock object framework for Python, inspired by
the Java library EasyMock.

To install:

  $ python setup.py install

To run Mox's internal tests:

  $ python mox_test.py

Basic usage:

  import unittest
  import mox

  class PersonTest(mox.MoxTestBase):

    def testUsingMox(self):
      # Create a mock Person
      mock_person = self.mox.CreateMock(Person)

      test_person = ...
      test_primary_key = ...
      unknown_person = ...

      # Expect InsertPerson to be called with test_person; return
      # test_primary_key at that point
      mock_person.InsertPerson(test_person).AndReturn(test_primary_key)

      # Raise an exception when this is called
      mock_person.DeletePerson(unknown_person).AndRaise(UnknownPersonError())

      # Switch from record mode to replay mode
      self.mox.ReplayAll()

      # Run the test
      ret_pk = mock_person.InsertPerson(test_person)
      self.assertEquals(test_primary_key, ret_pk)
      self.assertRaises(UnknownPersonError, mock_person, unknown_person)

For more documentation, see:

  http://code.google.com/p/pymox/wiki/MoxDocumentation

For more information, see:

  http://code.google.com/p/pymox/

Our user and developer discussion group is:

  http://groups.google.com/group/mox-discuss

Mox is Copyright 2008 Google Inc, and licensed under the Apache
License, Version 2.0; see the file COPYING for details.  If you would
like to help us improve Mox, join the group.