| 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. |