pyp*_*ism 3 python django datetime django-unittest
我试图比较 DRF 响应和输入值。
class ViewTest(TransactionTestCase):
reset_sequences = True
current_date_time = timezone.now()
def setUp(self):
self.client = APIClient()
self.user = User.objects.create_user('hiren', 'a@b.com', 'password')
self.client.force_authenticate(user=self.user)
self.tag = Tag.objects.create(name="Test tag")
Notes.objects.create(tag=self.tag, content="test content", date=self.current_date_time)
def test_return_correct_note(self):
response = self.client.get('/api/notes/1/')
self.assertEqual(response.json(), {'content': 'test content', 'id': 1,
'tag': 1, 'date': self.current_date_time})
Run Code Online (Sandbox Code Playgroud)
然后我得到了这个错误:
AssertionError: {'date': '2016-04-09T07:35:28.039393Z', 'co[37 chars]': 1} != {'tag': 1, 'content': 'test content', 'id':[69 chars]TC>)}
{'content': 'test content',
- 'date': '2016-04-09T07:35:28.039393Z',
+ 'date': datetime.datetime(2016, 4, 9, 7, 35, 28, 39393, tzinfo=<UTC>),
'id': 1,
'tag': 1}
Run Code Online (Sandbox Code Playgroud)
比较 django datetime 的正确方法是什么?
您可以将 Pythondatetime对象转换为 ISO 时间字符串,也可以将ISO 时间字符串解析为 Pythondatetime对象。
例如
...
'tag': 1, 'date': self.current_date_time.strftime('%Y-%m-%dT%H:%M:%S.%fZ')})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |