Closed lingxiaoyang closed 10 years ago
@rberkow This might relate to #325
After some research I am going to use Model Mommy to produce test data.
Original code using fixture (rodan/test/models/test_connection.py
):
class ConnectionTestCase(TestCase):
fixtures = ['1_users', '2_initial_data']
def setUp(self):
self.test_inputport = InputPort.objects.get(uuid="dd35645a7a7845c5a72c9a856ccb920e")
self.test_outputport = OutputPort.objects.get(uuid="bbdd13ddf05844aa8549e93e82ae4fd2")
......
With Model Mommy:
class ConnectionTestCase(TestCase):
fixtures = ['1_users']
def setUp(self):
self.test_inputport = mommy.make('rodan.InputPort') # Mommy creates all the necessary foreign key objects automatically
self.test_outputport = mommy.make('rodan.OutputPort', workflow_job__workflow=self.test_inputport.workflow_job.workflow)
......
Link to Model Mommy: http://model-mommy.readthedocs.org/en/latest/index.html
I find loading fixtures is not a good idea to test our system.
I am searching around a better solution for test set-up. Model factory seems good.
FYI: http://blog.namis.me/2012/04/21/burn-your-fixtures/