when I
create function test about 'sign up + log in' and 'log in + log out'
I use from django.test import LiveServerTestCase
so functional test will use testing database
when I command
python manage.py test func_test
it show me
Creating test database for alias 'default'...
[...]
Destroying test database for alias 'default'...
so my funcional_test code is
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from django.test import LiveServerTestCase
class NewVisitorTest(LiveServerTestCase):
def setUp(self):
self.browser = webdriver.Firefox()
def tearDown(self):
self.browser.quit()
def test_can_sign_up_and_log_in_out_this_website(self):
self.browser.get(self.live_server_url)
join_us = self.browser.find_element_by_id('join_us')
join_us.send_keys(Keys.ENTER)
username_box = self.browser.find_element_by_name('username')
password_box = self.browser.find_element_by_name('password')
username_box.send_keys('MyTestID')
password_box.send_keys('123')
self.browser.find_element_by_id('button').click()
[...]
self.browser.find_element_by_id('log_out').send_keys(Keys.ENTER)
self.assertIn('회원가입', self.browser.find_element_by_tag_name('body').text)
## first IPython
from IPython import embed; embed()
#self.fail('test passed')
def test_user_can_login_website(self):
self.browser.get(self.live_server_url)
self.assertIn('남서울 도서공유', self.browser.title)
# I want log in
log_in = self.browser.find_element_by_id('log_in')
log_in.send_keys(Keys.ENTER)
self.assertIn('로그인', self.browser.title)
# 로그인 페이지에서 아이디와 비빌번호를 입력하고
# 확인 버튼을 누른다
username_box = self.browser.find_element_by_name('username')
password_box = self.browser.find_element_by_name('password')
username_box.send_keys('MyTestID')
password_box.send_keys('123')
self.browser.find_element_by_id('button').click()
## second IPython
from IPython import embed; embed()
self.fail('이게 되나')
when i running func_test
first test_can_sign_up_and_log_in_out_this_website is runnging
second test_user_can_login_website is running
when first IPython open
In [1]: from users.models.user import User
In [2]: User.objects.first()
Out[2]: <User: MyTestID>
In [3]: exit
but when second IPython open I command
In [1]: from users.models.user import User
In [2]: User.objects.first()
In [3]: exit
I think when Test running, Test Database is open... and when finish test, Test Database is destroy...
why when second test method running, created user removed??
Aucun commentaire:
Enregistrer un commentaire