【发布时间】:2017-11-01 21:28:03
【问题描述】:
我正在使用带有 selenium 的萝卜 bdd 来测试我的 django 应用程序,但是有时 django 要求删除数据库,因为它已经存在于数据库中。这是我的terrain.py:
import os
import django
from django.test.runner import DiscoverRunner
from django.test import LiveServerTestCase
from radish import before, after
from selenium import webdriver
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tangorblog.settings.features')
BASE_URL = os.environ.get('BASE_URL', 'http://localhost:8000')
@before.each_scenario
def setup_django_test(scenario):
django.setup()
scenario.context.test_runner = DiscoverRunner()
scenario.context.test_runner.setup_test_environment()
scenario.context.old_db_config =\
scenario.context.test_runner.setup_databases()
scenario.context.base_url = BASE_URL
scenario.context.test_case = LiveServerTestCase()
scenario.context.test_case.setUpClass()
scenario.context.browser = webdriver.Chrome()
@after.each_scenario
def teardown_django(scenario):
scenario.context.browser.quit()
scenario.context.test_case.tearDownClass()
del scenario.context.test_case
scenario.context.test_runner.teardown_databases(
scenario.context.old_db_config)
scenario.context.test_runner.teardown_test_environment()
我认为,我可以通过某种方式改变它
scenario.context.old_db_config =\
scenario.context.test_runner.setup_databases()
但我不知道怎么做。有什么帮助吗?
【问题讨论】:
标签: python django unit-testing selenium bdd