database - Custom coverage test runner doesn't create DB -


i'm using django create rest application.
i'm working on unit testing application , instead of doing coverage source=="." manage.py test myapp --settings="mycustomsettings" decided create script can start tests , run them custom conf file , coverage result. here tree :

|-- apps |   |-- __init__.py |   |-- me_api |   |-- me_auth |   |-- me_core |   |-- me_import |   `-- me_payment |-- manage.py |-- settings.py |-- settings.pyc |-- tests |   |-- coveragerunner.py |   |-- geodjango.db |   |-- __init__.py |   |-- local_settings.py |   `-- settings.py |-- urls.py `-- urls.pyc 

i want test apps in apps/ folder. here code (in tests/coveragerunner.py)

import os import sys coverage import coverage  sys.path.append(os.path.join(os.path.dirname(__file__), "../")) os.environ['django_settings_module'] = 'tests.settings'  def main():     """     run tests , generates coverage report.     """     cov = coverage()     cov.erase()     cov.start()      django.conf import settings     django.test.utils import get_runner      testrunner = get_runner(settings)     test_runner = testrunner()     failures = test_runner.run_tests(['me_api'])      cov.stop()  if __name__ == '__main__':     main() 

i'm using geodjango.db spatialite db default db tests. script takes settings django when run it, seems database empty. doesn't sync db on own.

databaseerror: no such table: me_auth_emailuser 

is there way can tell django sync db before running tests or maybe did wrong ? thanks.

ps : when used manager.py there no problem db. (even spatialite db , different settings source)

a quick , dirty solution goes follows:

  1. set database engine sqlite, non-tests.
  2. make syncdb create template test database.
  3. now tests should work.
  4. don't forget set database engine postgesql.

Comments

Popular posts from this blog

javascript - JS causing window size to be bigger than necessary - Dropdown bug -

php - Calling a template part from a post -

How to mention the localhost in android -