草庐IT

fixtures

全部标签

php - 使用 Point 类型的 PHPUnit/CakePHP Fixtures

我创建了一个用于预处理POI的API,并将节点的坐标存储在“点”类型的列(MySQL)中。由于API已完成且运行无误,您可以猜到我已经为CakePHP实现了Point-Type。但现在的问题是:我想用PHPUnit测试API,但是Cake\Database\Schema\Table::createSql-Method弄乱了sql。直到Object包含点类型,但此函数创建的sql缺少数据类型。您有什么想法可以解决缺少的类型吗?或者如何在夹具中执行原始sql查询?下面是代码片段和数据“节点”的Fixture的$fields:public$fields=['id'=>['type'=>'in

php - 如何从 Doctrine Fixture 引用中获取实体?

我在我的项目中添加了依赖于相互引用实体对象的数据装置。在数据夹具一中,我添加了实体引用,例如://GroupEntity_Fixtures.phpfile$this->addReference('GROUP_USER',$groupUser);$this->addReference('GROUP_ADMIN',$groupAdmin);其中$groupAdmin和$groupUser都是Group()实体。在我的第二个灯具文件中,我想通过以下方式将这些实体添加到我的用户实体://UserEntity_Fixtures.phpfile$userActive->addGroup($this

mysql - 如何查找表中相对于初始 SQL fixture 的更改?

我有许多针对MySQL数据库运行的测试,该数据库预加载了来自一组SQL文件的模式和示例数据。其中一些测试在运行期间还会在数据库中创建新数据。通常,测试负责自行清理(因此不会污染其他测试的数据库环境)。但是,其中一些测试似乎没有完全这样做,因此在不应该留下额外/修改的记录。由于正在测试的代码集很复杂,在整个测试中运行单个事务是不可行的,所以我不能让MySQL回滚所有内容(有多个游标和多个游标)涉及的复制数据库服务器等因素)。我希望有一种方法可以更轻松地识别这些正在污染数据库的测试,但是因为它是允许测试写入数据库(只要它们之后删除东西),我不能只查看对数据库的所有更改-我只需要有效更改,删

自动化测试框架pytest教程3-pytest Fixture(夹具)

pytest夹具现在你已经用pytest编写和运行了测试函数,让我们把注意力转移到称为fixtures的测试辅助函数上,它对几乎所有非微不足道的软件系统的测试代码结构都是至关重要的。fixtures是在实际测试函数之前(有时是之后)由pytest运行的函数。固定程序中的代码可以做任何你想做的事情。你可以使用fixtures来获取测试所需的数据集。你可以使用fixtures在运行测试之前让系统进入已知的状态。fixtures也被用来为多个测试准备数据。在本章中,你将学习如何创建fixtures,并学习如何使用它们。Fixture入门ch3/test_fixtures.pyimportpytest

python - 我可以将参数传递给 pytest fixtures 吗?

我所有测试的基准是总是会有一辆出租车至少载有一名乘客。我可以使用一些基本装置轻松实现此设置:fromblahimportPassenger,Taxi@pytest.fixturedefpassenger():returnPassenger()@pytest.fixturedeftaxi(passenger):returnTaxi(rear_seat=passenger)测试基线很简单:deftest_taxi_contains_passenger(taxi)asserttaxi.has_passenger()当我开始需要更复杂的测试设置时,我的问题就出现了。在某些情况下,我需要出租车搭

python - 如何防止 Django fixtures 与现有数据冲突

我正在尝试执行manage.pyloaddatamyfixture.json以故意批量覆盖我数据库中的多个记录。但是,它给了我错误:IntegrityError:Probleminstallingfixture'myfixture.json':Couldnotloadmyapp.Person(pk=1):(1062,"Duplicateentry'Bob'forkey'name'")我认为loaddata的行为是在主键匹配现有记录时覆盖记录?我错了吗,或者这在Django1.5中改变了吗?我如何让它覆盖? 最佳答案 我找到了一种方法

python - Django fixtures 和 OneToOneField

如前所述here为与其他模型具有一对一关系的模型自动创建对象。因此,如果我将Model1与O2O连接到Model2,并将创建pk=1的Model2对象,那么将自动创建model2_id=1的Model1对象。然后,如果我将数据从DB转储到json,我将有这些对象的两条记录。如果我尝试使用loaddata将此数据加载到DB-它会失败,因为Model2的对象将被创建两次,并且会导致唯一索引冲突和IntegrityError。有人为此找到了明智的解决方案吗?附注我使用Django1.3.7 最佳答案 我做了类似的事情,不是用JSON,而是

python - 如何使用 pytest 将 fixture 中的对象共享到所有测试?

在具有session范围和autouse=True的fixture中定义对象的最佳方法是什么,以便它可用于所有测试?@pytest.fixture(scope='session',autouse=True)defsetup_func(request):obj=SomeObj()接下来,我想要一些魔法,让之前创建的obj将出现在每个测试上下文中,而不需要每个测试都定义setup_funcfixture。deftest_one():obj.do_something_fancy() 最佳答案 我的建议是将fixture添加到conftes

python - 将命令行参数作为参数传递给 py.test fixture

诚然,这不是开始的最佳方式,更重要的是,fixture参数已解析,即Options.get_option()在其他一切之前被调用。建议和建议将不胜感激。来自config.pyclassOptions(object):option=None@classmethoddefget_option(cls):returncls.option来自conftest.py@pytest.yield_fixture(scope='session',autouse=True)defsession_setup():Options.option=pytest.config.getoption('--remot

Python Nose 测试继承: load unit test fixtures from subclasses

我正在将Python项目的测试套件从unittest转换为nose。该项目现有的框架(基于unittest)相当笨重,包含大量用于测试发现和运行的高度定制的代码,因此我正在尝试迁移到nose以使一切更加精简。但是,我在生成测试套件的代码方面遇到了问题。该项目的框架有两种运行测试的方式。一个是classTestSomething(unittest.TestCase):defsetUp(self):...deftest_x(self):...deftest_y(self):...suite=unittest.TestSuite()suite.addTest(unittest.makeSui