Skip to content
This repository has been archived by the owner on Feb 28, 2020. It is now read-only.

Commit

Permalink
use django testrunner instead of nose
Browse files Browse the repository at this point in the history
  • Loading branch information
masci committed Jun 13, 2015
1 parent 219e6b1 commit 75fb154
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 69 deletions.
2 changes: 0 additions & 2 deletions requirements-test.txt
@@ -1,6 +1,4 @@
-r requirements-optional.txt
coverage==3.6
mock>=1.0.1
nose>=1.3.0
django-nose>=1.2
sphinx
74 changes: 7 additions & 67 deletions runtests.py
@@ -1,70 +1,10 @@
#!/usr/bin/env python
import os
import sys
from optparse import OptionParser

try:
from django.conf import settings
if __name__ == "__main__":
app_to_test = "stored_messages"
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "stored_messages.tests.settings")

INSTALLED_APPS = [
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sites",
"django.contrib.messages",
"django.contrib.sessions",
"stored_messages",
]

try:
import rest_framework
INSTALLED_APPS.append("rest_framework")
except ImportError:
pass

import imp
imp.find_module('django_nose')

settings.configure(
DEBUG=True,
USE_TZ=True,
DATABASES={
"default": {
"ENGINE": "django.db.backends.sqlite3",
}
},
ROOT_URLCONF="stored_messages.urls",
INSTALLED_APPS=INSTALLED_APPS,
# Django 1.7 has a new, minimal default set for MIDDLEWARE_CLASSES so be explicit
MIDDLEWARE_CLASSES=(
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
),
SITE_ID=1,
NOSE_ARGS=['-s'],
MESSAGE_STORAGE='stored_messages.storage.PersistentStorage',
STORED_MESSAGES={
'REDIS_URL': 'redis://localhost:6379/0',
},
MOCK_REDIS_SERVER=True,
)

from django_nose import NoseTestSuiteRunner
except ImportError:
raise ImportError("To fix this error, run: pip install -r requirements-test.txt")


def run_tests(*test_args):
if not test_args:
test_args = ['tests']

# Run tests
test_runner = NoseTestSuiteRunner(verbosity=1)

failures = test_runner.run_tests(test_args)
sys.exit(failures)

if __name__ == '__main__':
parser = OptionParser()
(options, args) = parser.parse_args()
run_tests(*args)
from django.core.management import execute_from_command_line
execute_from_command_line([sys.argv[0], "test", app_to_test])

0 comments on commit 75fb154

Please sign in to comment.