2016-01-13 17 views
0

我已经创建了一个测试,哪个会发送一个URL请求发送请求的方法使得几个对象,我的问题是如何获得这些创建的对象?Django测试获取创建的对象client.post()

def test_post(self): 
    response = self.c.post('/url/', {'name' : 'postname', 'content' : 'abc'}) 

,而我的观点的逻辑看起来像

Class MakePost(): 
    def makePost(self, request, data): 
    object = Class() 
    object2 = AnotherClass() 
    return object 
    def get_success_url(self, request, user): 
    return '/post/' 
+0

这真的不清楚。客户端将得到API端点返回的任何内容。 –

+0

是啊,我很喜欢/ post /页面,但我希望那些创建的对象在这种情况下说“object”和“object2” – Marksman

+0

您仍然需要更加清晰。这些对象是什么?他们在哪里储存?你为什么想要得到它们?也许你应该展示一些真实的代码。 –

回答

0

您可以检查您创建的对象在你测试,如:

def test_post(self): 
    response = self.c.post('/url/', {'name' : 'postname', 'content' : 'abc'}) 
    # assume the above call has created an Post and a Category objects. Let's check them out. 
    category = Category.objects.get(name='category') 
    post = Post.objects.get(name='postname') 
    self.assertEqual(post.content, 'abc') 
    self.assertEqual(post.category, category) 

随着数据库的每test_*方法之前清洗和含有没有对象(如果使用任何对象,除了灯具),只有一个对象具有该名称。