Спасибо всем, кто прочитал это и ищет лучший способ. Я думаю, что модульные тесты - определенно более простой подход.
Таким образом, в соответствии с документацией вам просто нужно создать файл tests.py параллельно с models.py и поместить туда тесты.
from django.test import TestCase
from perforce.models import P4User, P4Client
class ModelTests(TestCase):
def setUp(self):
self.p4 = P4.P4()
self.p4.connect()
def test_BasicP4(self):
"""
Make sure we are running 2009.1 == 65
"""
self.failUnlessEqual(self.p4.api_level, 65)
def test_P4User_get_or_retrieve(self):
"""
This will simply verify we can get a user and push it into the model
"""
user = self.p4.run(("users"))[0]
dbuser = P4User.objects.get_or_retrieve(user.get('User'))
# Did it get loaded into the db?
self.assertEqual(dbuser[1], True)
# Do it again but hey it already exists..
dbuser = P4User.objects.get_or_retrieve(user.get('User'))
# Did it get loaded into the db?
self.assertEqual(dbuser[1], False)
# Verify one field of the data matches
dbuser = dbuser[0]
self.assertEqual(dbuser.email, user.get("Email"))
Теперь вы можете просто запустить терминал и выполнить тест python manage.py, и он будет запускать тесты, но опять-таки, это довольно ограниченное представление и все еще требует, чтобы вы включали / выключали программы. Итак, вот как вы это делаете это прямо из Textmate с помощью ⌘R.
Добавьте строку импорта вверху и несколько строк внизу.
from django.test.simple import run_tests
#
# Unit tests from above
#
if __name__ == '__main__':
run_tests(None, verbosity=1, interactive=False)
А теперь ⌘R будет работать напрямую из TextMate.