Why is test case failing in Django when it returns True in Python intrepreter? -
when run code in python interpreter, returns true:
>>> movies.models import movie >>> movie_list = movie.objects.all() >>> bool(movie_list) true when run test case, python3 manage.py test movies, fails:
from django.test import testcase .models import movie class questionmethodtests(testcase): def test_movie_list_empty(self): movie_list = movie.objects.all() self.assertequal(bool(movie_list), true) what missing? shouldn't test pass?
i see. mean test cases test code can't use of actual database content in tests?
by default no, , don't want mess actual db anyway, there usual way provide initial objects tests (the actual source can differ, e.g. loading file)
from django.test import testcase .models import movie class questionmethodtests(testcase): def setup(self): # can create movie objects here movie.objects.create(title='forest gump', ...) def test_movie_list_empty(self): movie_list = movie.objects.all() self.assertequal(bool(movie_list), true) the testcase class contains setuptestdata method if fancy that, https://docs.djangoproject.com/en/1.8/topics/testing/tools/#django.test.testcase.setuptestdata
ps: test_movie_list_empty name sounds weird, cause seems test movie list not empty
Comments
Post a Comment