博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【求助】测试XCode v8.0的正向反向功能
阅读量:5974 次
发布时间:2019-06-19

本文共 1467 字,大约阅读时间需要 4 分钟。

目的:测试XCode v8.0的正常反向功能。

正向工程:从数据库读取架构信息,生成实体类。

反向工程:根据实体类的特性构造架构信息,反向生成数据库或者修改数据库。

准备工作:

1,自备数据库实例,最好是自己的数据库,为了测试各种数据库的各种字段能否被识别为正确的.Net类型(正向工程),同时也测试.Net类型能否正确转为对应的数据库类型(反向工程)。(支持MSSQL、Access、SqlCe、SQLite、MySql、Oracle、PostgreSQL、Firebird)

2,最新的XCoder v4.2一份

 

开始:

1,在XCoder.exe.config中配置连接字符串,如果没有这个文件,运行一次XCoder即可自动生成。XCoder能自动发现本机MSSQL,本目录Access和SQLite。

2,启动后的主界面。连接那里下拉选择的就是前面配置的连接。检查模版那里是否有模版可选择。

3,选择要测试的连接字符串,点“连接”。此时XCoder通过XCode取得数据库架构,拿到了所有表信息,并在数据表那里列出来。

4,先备份一下架构信息,留后面使用。

5,选择“实体”模版,点击“生成所有表”,0.3秒即可生成12个实体类。点击“打开目录”可以直接看到。

6,新建一个控制台项目,引用NewLife.Core.dll和XCode.dll(可以从代码生成器里面拿到)。并把刚才生成所有实体类拷贝进去。

7,再添加一个应用配置App.Config。加上一些配置信息。我们生成实体类的时候,设置了连接名为Common,这个配置文件里面本应该配置一个名为Common的连接,但是我们通过XCode的连接名映射功能把Common这个连接名映射到别的连接名上去。

8,写几句代码试一试。

9,修改连接字符串,开始测试反向工程。

10,重新启动程序。运行结果没什么变化,只是慢了一点点。其实,这是因为我们指定了一个并不存在的数据库Common888,同时配置文件里面打开了反向工程的开关XCode.Schema.Enable,XCode自动创建数据库和数据表。

11,检查一下数据库里面的字段,看看字段类型是否与本来的数据库类型一致。同时检查索引是否能够正确创建。

12,测试不同数据库间的兼容性。比如从MSSQL生成实体类,然后反向工程生成到SQLite中去。这方面可以多做几个测试。测试人员之间也可以互相交换数据库架构信息(第4步导出),用XCoder导入也可以生成实体类。

 

XCode的类型对应基于ADO.Net,但是大量存在一种.Net类型对应多种数据库类型的情况,我们只能做很小的一部分测试,不能保证各种类型的字段都能得到正确识别。

各个需要附加DLL的数据库提供者,会自动下载!

目前XCode对各个数据库的兼容性情况排名:MSSQL2008/2005》MSSQL2000》Access》SQLite》Oracle》MySql》SqlCe》PostgreSQL》Firebird,越是后面,可能存在的问题就越多。

至于正向反向工程以外的问题,可以通过把项目指定到不同类型的数据库上进行测试。

 

测试过程中遇到的各种问题,在群里反馈,实时修正各种BUG。

 

测试相关资料下载地址:

我不相信神话,我只相信汗水!我不相信命运,我只相信双手!
分类:
本文转自大石头博客园博客,原文链接:http://www.cnblogs.com/nnhy/archive/2011/09/08/2171078.html,如需转载请自行联系原作者
你可能感兴趣的文章
CentOS6.4_X86_64 安装Drupal-7.31必须成功版!
查看>>
驱动学习之驱动和应用的接口
查看>>
hbase region split源码分析
查看>>
MySQL备份之分库分表备份脚本
查看>>
Java 与 Netty 实现高性能高并发
查看>>
SurfControl人工智能新突破 领跑反垃圾邮件
查看>>
一个动态ACL的案例
查看>>
jquery 表单验证
查看>>
openstack 之 windows server 2008镜像制作
查看>>
VI快捷键攻略
查看>>
Win server 2012 R2 文件服务器--(三)配额限制
查看>>
卓越质量管理成就创新高地 中关村软件园再出发
查看>>
linux rsync 远程同步
查看>>
httpd的manual列目录漏洞
查看>>
myeclipse2014破解过程
查看>>
漫谈几种反编译对抗技术
查看>>
VS 编译错误
查看>>
Timer 和 TimerTask 例子
查看>>
Spring BOOT 集成 RabbitMq 实战操作(一)
查看>>
安装python3.5注意事项及相关命令
查看>>