2010-12-10 1 views
6

У меня есть приложение Django, myApp. В нем есть файл tests.py, который определяет несколько тестовых примеров с использованием класса django.test.TestCase. Например, один из них называется WebViews и имеет тестовый метод check_status_codes.Django не запускает тесты с помощью теста manage.py, если не указано приложение и конкретный метод тестирования

Когда я запустил ./manage.py тест, база данных построена с моими исходными данными, но потом она сообщает мне, что она провела 0 тестов. Я получаю аналогичные результаты (тесты не работает), если я делаю это:

./manage.py тест MYAPP

или даже это:

./manage.py тест MYAPP .WebViews

Однако, если я исполню

./manage.py test.WebViews.check_status_codes

то, что точный метод испытания работает, как ожидалось.

Я могу объединить кучу тестовых методов вместе, чтобы это произошло, и заставить их работать, но это очень утомительно, и у меня такое чувство, что я чего-то не хватает.

Любые советы или предложения относительно того, что делать?

Спасибо!

ответ

8

Я считаю, что соглашение с модульными испытаниями должно состоять в том, чтобы ваши тестовые методы были предварительно подвергнуты тестированию. Например:

class FooTest(TestCase): 

    def setUp(self): 
     # do setup stuff here 
     pass 

    def tearDown(self): 
     # do teardown here 
     pass 

    def test_one_equals_one(self): 
     self.assertEqual(1, 1, "One did not equal 1") 
+0

Большое вам спасибо, это сработало! Я не пытался это сделать. – lunafiko