Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django功能测试:selenium.quit()不';重置数据库?_Django_Selenium_Python Unittest - Fatal编程技术网

Django功能测试:selenium.quit()不';重置数据库?

Django功能测试:selenium.quit()不';重置数据库?,django,selenium,python-unittest,Django,Selenium,Python Unittest,当我运行测试时 class FunctionalTest(LiveServerTestCase): def setUp(self): print("setUp") self.browser = webdriver.Firefox() self.browser.implicitly_wait(3) def tearDown(self): print("tearDown") self.browser.

当我运行测试时

class FunctionalTest(LiveServerTestCase):

    def setUp(self):
        print("setUp")
        self.browser = webdriver.Firefox()
        self.browser.implicitly_wait(3)

    def tearDown(self):
        print("tearDown")
        self.browser.quit()


class MyTest(FunctionalTest):

    def test1(self):
        cart = Cart.objects.create()
        print(cart.id)

    def test2(self):
        cart = Cart.objects.create()
        print(cart.id)

    def test3(self):
        cart = Cart.objects.create()
        print(cart.id)
我不明白为什么每个测试函数的结果都会影响其他测试函数(
cart
id

我所期望的是:

setUp
1
tearDown
.setUp
2
tearDown
.setUp
3
tearDown
.
----------------------------------------------------------------------
Ran 3 tests in 7.024s

这不是这里发生的事情。你的测试不是互相妨碍

LiveServerTestcase是和的子类

TransactionTestCase在通过运行测试后重置数据库 截断所有表。TransactionTestCase可以调用commit和 回滚并观察这些调用对数据库的影响

截断表不会重置自动icnrement计数器。默认情况下,所有django模型都有一个自动递增的主键

当您执行以下操作时,您只需打印出最近创建的模型的主键,并且一直在增加

setUp
1
tearDown
.setUp
1
tearDown
.setUp
1
tearDown
.
----------------------------------------------------------------------
Ran 3 tests in 7.024s
相反,你应该做的是

 print(cart.id)

啊。。。我不知道那件事。。多么宝贵的信息啊。谢谢。很高兴能帮上忙
 self.assertEqual(1,Cart.objects.count())