मैं सेलेनियम परीक्षण के लिए Django 1.4 के LiveServerTestCase उपयोग कर रहा हूँ और setUpClass
वर्ग विधि के साथ परेशानी हो रही हूँ। जहां तक मैं समझता हूं कि MembershipTests.setUpClass
यूनिट परीक्षण चलाने से पहले एक बार चलाया जाता है।Django LiveServerTestCase: setUpClass विधि में बनाया गया उपयोगकर्ता test_method में उपलब्ध नहीं है?
मैंने MembershipTests.setUpClass
में डेटाबेस में उपयोगकर्ता को जोड़ने के लिए कोड डाला है, लेकिन जब मैं MembershipTests.test_signup
परीक्षण चलाता हूं तो परीक्षण उपयोगकर्ता को परीक्षण डेटाबेस में जोड़ा नहीं गया है। मैं गलत तरीके से क्या कर रहा हूं? मैं उम्मीद उपयोगकर्ता मैं setUpClass
में बनाए गए सभी इकाई परीक्षण भर में उपलब्ध होगी।
अगर मैं MembershipTests.setUp
में उपयोगकर्ता निर्माण कोड डाल दिया और चलाने MembershipTests.test_signup
मैं उपयोगकर्ता देख सकते हैं, लेकिन यह रन नहीं करना चाहते से पहले setUp
के रूप में हर इकाई परीक्षण है। आप देख सकते हैं, मैं अपने परीक्षण (test_utils.CustomLiveTestCase
) के सभी भर में बुनियादी कार्यक्षमता जोड़ने के लिए एक कस्टम LiveServerTestCase वर्ग का उपयोग करें। मुझे संदेह है कि मेरे मुद्दे के साथ इसका कुछ संबंध है।
अग्रिम धन्यवाद।
test_utils.py:
from selenium.webdriver.firefox.webdriver import WebDriver
from django.test import LiveServerTestCase
class CustomLiveTestCase(LiveServerTestCase):
@classmethod
def setUpClass(cls):
cls.wd = WebDriver()
super(CustomLiveTestCase, cls).setUpClass()
@classmethod
def tearDownClass(cls):
cls.wd.quit()
super(CustomLiveTestCase, cls).tearDownClass()
tests.py:
from django.contrib.auth.models import User
from django.test.utils import override_settings
from test_utils import CustomLiveTestCase
from test_constants import *
@override_settings(STRIPE_SECRET_KEY='xxx', STRIPE_PUBLISHABLE_KEY='xxx')
class MembershipTests(CustomLiveTestCase):
fixtures = [
'account_extras/fixtures/test_socialapp_data.json',
'membership/fixtures/basic/plan.json',
]
def setUp(self):
pass
@classmethod
def setUpClass(cls):
super(MembershipTests, cls).setUpClass()
user = User.objects.create_user(
TEST_USER_USERNAME,
TEST_USER_EMAIL,
TEST_USER_PASSWORD
)
def test_signup(self):
print "users: ", User.objects.all()
कोई विचार, मैं उपयोगकर्ता कैसे बना सकता हूं और फिर इसे लाइवसेवरटेस्टकेस के साथ लॉग इन कर सकता हूं? SQLite डेटाबेस के साथ सेटअप में खाता बनाना: मेमोरी: काम नहीं करता है, भले ही मैं मैन्युअल रूप से प्रतिबद्ध करता हूं। – dotz