当我尝试将数据转储到我的实时服务器上的Djanog 1.2.1中的JSON夹具时,我收到错误.在实时服务器上,它运行MySQL Server版本5.0.77,我使用phpMyAdmin接口将大量数据导入到我的表中.该网站工作正常,Django管理员正常响应.但是,当我尝试实际转储与表对应的应用程序的数据时,我收到此错误:
$ python manage.py dumpdata --indent=2 gigs > fixtures/gigs_100914.json
/usr/local/lib/python2.6/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet
Error: Unable to serialize database: Location matching query does not exist.
Run Code Online (Sandbox Code Playgroud)
我正在尝试转储的'gigs'的Django模型在models.py文件中看起来像这样:
from datetime import datetime
from django.db import models
class Location(models.Model):
name = models.CharField(max_length=120, blank=True, null=True)
class Meta:
ordering = ['name']
def __unicode__(self):
return "%s (%s)" % (self.name, self.pk)
class Venue(models.Model):
name = models.CharField(max_length=120, blank=True, null=True)
contact = models.CharField(max_length=250, blank=True, null=True)
url = models.URLField(max_length=60, verify_exists=False, blank=True, null=True) …Run Code Online (Sandbox Code Playgroud) 对于我正在测试的应用程序,我想创建一个autouse=True夹具,smtplib.SMTP.connect如果他们试图意外发送电子邮件,那么monkeypatches 将失败测试.
但是,如果我确实希望测试发送电子邮件,我想使用不同的夹具来记录这些电子邮件(最有可能的方法是使用smtpserver夹具pytest-localserver和monkeypatching connect方法来使用该夹具返回的主机/端口)
当然,只有在另一个灯具(加载为funcarg)之前执行autouse灯具时才能工作.是否有任何具体的订单执行和/或有没有办法保证执行顺序?
我正在尝试将来自clinicaltrials.gov的大约30k xml文件加载到mySQL数据库中,我处理多个位置,关键字等的方式是使用ManyToManyFields的单独模型.
我弄清楚的最好的方法是使用夹具读取数据.所以我的问题是,如何处理数据是指向另一个模型的指针的字段?
遗憾的是,我对ManyToMany/ForeignKeys的工作原理不了解,能够回答......
感谢您的帮助,示例代码如下:_ _代表ManyToMany字段
{
"pk": trial_id,
"model": trials.trial,
"fields": {
"trial_id": trial_id,
"brief_title": brief_title,
"official_title": official_title,
"brief_summary": brief_summary,
"detailed_Description": detailed_description,
"overall_status": overall_status,
"phase": phase,
"enrollment": enrollment,
"study_type": study_type,
"condition": _______________,
"elligibility": elligibility,
"Criteria": ______________,
"overall_contact": _______________,
"location": ___________,
"lastchanged_date": lastchanged_date,
"firstreceived_date": firstreceived_date,
"keyword": __________,
"condition_mesh": condition_mesh,
}
Run Code Online (Sandbox Code Playgroud)
}
我正在将基于SQL Server和ASP的旧Web应用程序迁移到Symfony2和MySQL.我做了一些查询并将旧数据导出到单个SQL文件.当我运行命令时,如何在我的灯具中执行thoses文件
$php app/console doctrine:fixtures:load
Run Code Online (Sandbox Code Playgroud)
现在我有一些直接与Doctrine ORM和实体一起工作的灯具,但我有很多数据需要导入.
https://github.com/nelmio/alice/blob/master/README.md#multiple-references
group{1..10}:
members: @user{1..10}
Run Code Online (Sandbox Code Playgroud)
这个例子给出了问题
未找到Id @user_ {1..2}和Class Eggs\CoreBundle\Entity\User的实体
它按原样放置.如果我将其更改为@ user_*或@ user_1,这可以正常工作,但是超出范围会给我带来问题.
码:
user_{1..10}:
email (unique): email()
group_{1..10}:
user: @user_{1..10}
name: name of the group
Run Code Online (Sandbox Code Playgroud)
user:@user_ {1..10} <---这一行给出了问题.(我已将业务更改为用户)
对于我的Web服务器,我有一个login创建用户的fixture,并返回发送请求所需的头.对于某个测试,我需要两个用户.如何在一个功能中两次使用相同的夹具?
from test.fixtures import login
class TestGroups(object):
def test_get_own_only(self, login, login):
pass
Run Code Online (Sandbox Code Playgroud) 有十几个Rails插件,其目标是在测试中替换灯具.以下是我能想到的一些内容:
可能还有其他人.您更喜欢哪些插件?为什么?
这似乎引发了另一个问题的一些对话,我认为值得转入自己的问题.
DRY原则似乎是我们解决维护问题的首选武器,但是测试代码的维护又如何呢?是否适用相同的经验法则?
开发人员测试社区中的一些强烈声音认为设置和拆卸是有害的,应该避免......仅举几例:
实际上,由于这个原因,xUnit.net已经完全从框架中删除了它们(虽然有办法解决这种自我限制).
你有什么经验吗?设置/拆卸是否会受损或有助于测试可维护性?
更新:像JUnit4或TestNG(@ BeforeClass,@ BeforeGroups等)中提供的更细粒度的构造会有所作为吗?
我想为我的symfony2项目设置灯具.我想避免PHP类,但使用yaml文件来定义fixture.仅存储文本字段和关系的实体工作正常,但我不知道是否可以通过这种方式添加UploadedFile,例如图像文件.
目前,我正在使用KhepinYamlFixtureBundle,并且不确定是否可以通过服务调用定义它们,或者它是否完全没有此功能.
我会切换到提供该功能的捆绑包.
当使用clojure.test的use-fixture时,有没有办法将一个值从fixture函数传递给测试函数?