`
whale
  • 浏览: 44589 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

用Json导测试数据所出现的问题

    博客分类:
  • Java
阅读更多
用Json导测试数据有一些好处(The Pesistence is Hibernate):
1. 可以让测试人员,或开发人员造数据是远离数据库(面向对象造数据)。
2. 数据库更换或移植,数据可以完好的保存在json文件里(因为是json文件,也可以将数据库的data反导出到文件)。数据也容易备份转移。
   ...

那么也会存在一些问题。

现在假设一个数据库的表跟Domain Object已经对应好。 (数据库是postgre, Hibernate3.2,and jpa.)

假设有这么一个数据,Category(super class, or not, but has parent, and children), 下面有GroupCategory, MagazineCategory继承它。 而annotion其中一语句是
"@Inheritance(strategy = InheritanceType.SINGLE_TABLE)"
那么,数据库中只有一张表tcategory,而对应有两个class, GroupCategory, MagazineCategory(表中的dtype字段来区分),问题来了:
如何添加parent?

一次添加parent数据和它的children时会抛出异常。原因推理: 假设这里导一个json一个transaction, 那么在假设导GroupCategory时,会将parent预备导入,但还没真正的persist, 那么再导入其children时,在数据库里没找到,那么会自己建一个parent, 也想往数据库储存,冲突! 所以会异常抛出?

如何解决:
在导入数据时先导入数据,然后导入关系(只是针对这种特殊情况,其他的domain object不需要要)。
eg:先导入所有GroupCategory(include parents and children, but no relatino)。如GroupCategory.json
然后在导入relation,如:GroupCategoryRelation.json,这里面建立关系:)

昨天弄到凌晨三点,在高手的指点下解决问题,多谢andlu!
但依然麻烦:D
分享到:
评论

相关推荐

    JSON数据构造及解析详解

    6. **序列化回JSON字符串**:如果需要将已处理的数据写回JSON格式,可以使用`Json::FastWriter`或`Json::StyledWriter`进行序列化。 在进行JSON解析测试时,`json_parse_test`可能是你的测试代码文件,它可能包含了...

    VB6解析json类库

    6. **JSONScriptTest.js**:可能是一个JavaScript文件,用于与VB6应用程序进行交互,测试JSON数据的处理能力。 7. **VB JSON VB6 Software Library (BSD Licensed)** - **Visual Basic, JSON.mht**:这是一个MHTML...

    Json library for Delphi

    `sample2.dpr`、`test.dpr`、`sample1.dpr`这些文件是Delphi的项目文件,它们可能包含了一些示例代码或者测试用例,用于演示如何使用这个JSON库。通过这些项目,开发者可以学习如何创建JSON对象,添加或读取键值对,...

    Ruby-JsonCompare返回两个JSON文件之间的差异

    在Ruby编程语言中,处理JSON数据是一项常见的任务。...无论你是进行手动检查还是构建自动化测试,`JsonCompare`都是你处理JSON数据差异的好帮手。记得正确安装和使用它,以便在你的Ruby项目中充分发挥其功能。

    erlang json rfc4627

    4. **使用**:在Erlang程序中,通过导入库模块并调用相关函数,处理JSON数据。 了解和使用这个库,可以帮助Erlang开发者更高效地与JSON格式的数据交互,从而提升他们的应用在处理网络通信和数据交换时的效率。同时...

    Go-jsongo-FluentAPI使其更容易创建Json对象

    通过使用Fluent API,可以避免拼接字符串或手动构造映射所带来的潜在错误,同时提高代码的可读性和可测试性。 总之,`jsongo`是Go语言中一个强大的工具,它简化了JSON对象的创建过程,提高了开发效率。对于那些经常...

    jackson-all.jar

    jackson优势: (1)Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 (2)相比json-lib框架,Jackson所...附加JSON数据格式化和查看器,方便JSON数据测试和校验,有利于开发。

    PyPI 官网下载 | json_storage_manager-0.1.7.tar.gz

    2. **导入库**:安装完成后,用户可以在代码中导入`json_storage_manager`库,以便使用其提供的函数和类。 3. **数据序列化与反序列化**:`json_storage_manager`提供了将Python对象转化为JSON字符串,以及将JSON...

    开源项目-ddo-pick-json.zip

    【开源项目-ddo-pick-json.zip】是一个针对JSON数据处理的开源项目,旨在提供一种快速、高效的手段来从JSON对象中提取所需的信息。项目名称"ddo-pick-json"暗示了其核心功能是"挑选"(pick)JSON数据,而"FAST"则...

    json-path-assert-2.1.0.zip

    它允许您方便地从复杂的 JSON 对象中提取所需的数据。在软件测试和验证中,JSON Path 通常用于断言,即确认返回的 JSON 响应是否符合预期。`json-path-assert-2.1.0.zip` 文件包含了 `JsonPath` 库的一个版本,这是...

    cocos可用excel导表工具

    "cocos可用excel导表工具"就是为了解决这个问题,它允许开发者通过Python脚本将Excel数据转换成Cocos引擎可以直接使用的Lua、JSON或JS文件格式。 这个工具的核心功能包括: 1. **Excel到Lua/JSON/JS转换**:Python...

    Python库 | json2struct-1.1.tar.gz

    根据压缩包子文件的文件名称列表,只有一个条目"json2struct-1.1",这可能是一个包含`json2struct`库源代码、文档、测试和其他相关资源的目录。在解压这个文件后,用户通常需要进入该目录,并通过Python的`setup.py`...

    支持用Swift处理JSON数据

    "支持用Swift处理JSON数据"这一主题,主要是介绍如何利用开源库SwiftyJSON来简化这个过程。SwiftyJSON是由Alamofire团队维护的一个强大的Swift JSON处理库,它使得在Swift中解析和操作JSON数据变得非常直观,类似于...

    PyPI 官网下载 | sqlalchemy_json_querybuilder-1.1.8-py3-none-any.whl

    在实际应用中,使用SQLAlchemy JSON QueryBuilder,你可以通过以下步骤来查询JSON数据: 1. **导入库**:首先,你需要导入SQLAlchemy和SQLAlchemy JSON QueryBuilder库。 ```python from sqlalchemy import create_...

    C# 导数据批处理

    【C# 导数据批处理】是一个典型的编程实践,它涉及到使用C#语言编写控制台应用程序,配合批处理脚本来实现高效的数据导入操作。在这一过程中,开发者通常需要考虑以下几个关键知识点: 1. **C# 控制台应用程序**:...

    PyPI 官网下载 | jsonapp-0.0.2.tar.gz

    标题中的"PyPI 官网下载 | jsonapp-...总的来说,`jsonapp`是一个Python库,专注于处理JSON数据,通过PyPI分发,使用`.tar.gz`格式的压缩包提供。安装和使用这个库需要对Python的包管理和基本的开发环境有一定的了解。

    python3+unittest+request+ddt接口测试

    5. **数据驱动测试**:如果测试数据存储在外部文件(如CSV或JSON)中,可以使用`@file_data`装饰器读取数据: ```python @file_data('test_data.csv') def test_get_api(self, data): response = requests.get(...

    MySQL数据中很多换行符和回车符的解决方法

    我到公司后先测试一下客户给我的错误示例(果然搜不到),然后排查一下昨天的数据是否有问题,发现昨天客户用excel导入的数据中,存在很多\r\n这种换行符和回车符。 如:库中数据为:“换行符\n换行符\n换行符”,...

    google-news-parser-json:JSON格式的谷歌新闻解析器试用Packagist

    在描述中提到的“JSON格式的Google新闻解析器”,意味着该库能够从Google新闻源抓取数据,并将其转换成JSON(JavaScript Object Notation)——一种轻量级的数据交换格式。JSON因其易于阅读和编写,同时也易于机器...

    《软件测试》思维导图.rar

    压缩包中的`content.json`、`metadata.json`和`manifest.json`可能是用来存储思维导图的结构和元数据的文件,而`content.xml`可能包含了思维导图的具体内容,`Thumbnails`目录则可能包含导图的预览图片。通过这些...

Global site tag (gtag.js) - Google Analytics