Tho*_*mel 20 testing django django-queryset
我想知道TestCase.assertQuerysetEqual方法是如何工作的.我以不同的方式尝试了它,每个都引导我另一个错误信息.
#create a backup of all records in the tree
tree_record_backup = list(Tree.objects.all())
#do some updates on another table, which should not affect the tree table if everything goes wrong
#check if list of tree records did not changed
tree_record_qs = Tree.objects.all()
#Number1:
self.assertQuerysetEqual(tree_record_qs,[repr(tree_record_backup)])
#Number2:
self.assertQuerysetEqual(tree_record_qs,tree_record_backup)
Run Code Online (Sandbox Code Playgroud)
Number1的错误消息:
First list contains 21 additional elements.
First extra element 1:
node.pk: 2 - node: node2 - pk: 2 - level: 0 - ancestor: 2
Run Code Online (Sandbox Code Playgroud)
第2个错误消息:
AssertionError: Lists differ: ['<Tree: node.pk: 1 - node: ro... != [<Tree: node.pk: 1 - node: roo...
First differing element 0:
<Tree: node.pk: 1 - node: root - pk: 1 - level: 0 - ancestor: 1>
node.pk: 1 - node: root - pk: 1 - level: 0 - ancestor: 1
Run Code Online (Sandbox Code Playgroud)
感谢您提示如何正确使用assertQuerysetEqual方法.
Sky*_*and 14
试试这个:
self.assertQuerysetEqual(
tree_record_qs,
[repr(r) for r in tree_record_backup]
)
Run Code Online (Sandbox Code Playgroud)
它有点奇怪而且没有记录; 但是,这应该对你有用.
归档时间: |
|
查看次数: |
4270 次 |
最近记录: |