Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/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
Unit testing 快速桌上娱乐_Unit Testing_Automated Tests_Peewee - Fatal编程技术网

Unit testing 快速桌上娱乐

Unit testing 快速桌上娱乐,unit-testing,automated-tests,peewee,Unit Testing,Automated Tests,Peewee,我希望每个测试都有一个空数据库,所以每次都要重新创建数据库。这真的很慢。有没有更快的办法 my_dbmodule.DATABASE = ':memory: my_dbmodule.db = SqliteDatabase(':memory:') my_dbmodule.db.connect() my_dbmodule.db.drop_tables([DashboardConfig, MUT, Heartbeat, Iteration,

我希望每个测试都有一个空数据库,所以每次都要重新创建数据库。这真的很慢。有没有更快的办法

my_dbmodule.DATABASE = ':memory:
my_dbmodule.db = SqliteDatabase(':memory:')
my_dbmodule.db.connect()

my_dbmodule.db.drop_tables([DashboardConfig, MUT, Heartbeat,
                              Iteration, Log, Row,
                              DashboardConfigMUT], True)

my_dbmodule.db.create_tables([DashboardConfig, MUT, Heartbeat,
                                Iteration, Log, Row,
                                DashboardConfigMUT], True)
我唯一想到的是带有语法的

with test_database(test_db, (MUT, Iteration)):
    do_something()
这对我来说是很大的代码开销,因为每次测试都需要它


如果有任何影响,我将使用unittest import TestCase中的
进行测试。

您可以在事务中运行测试,并在每个测试用例后回滚,从而节省昂贵的表创建费用。如果您在测试用例中使用txn,当然您必须手动删除内容

您可以在
TestCase
上的
setUp()
方法期间输入
test\u数据库
上下文,然后在
tearDown()
期间调用
\uuuu exit\uuu

简而言之,有很多方法,你只需要跳出框框思考