首页 / 知识
关于tdd:数据库集成测试
2023-04-15 06:58:00

Database integration tests在仅使用数据访问层或大多数应用程序堆栈进行集成测试时。如果在同一数据库上运行多个测试,最好的方法是防止它们相互冲突? 交易。 Ruby on Rails单元测试框架的作用是这样的:
这意味着 我认为这很酷 对于简单的数据库应用程序,我发现使用SQLite很有用。它使您可以为每个测试拥有唯一的独立数据库。 但是,仅当您使用简单的通用SQL功能或可以轻松地将SQLite和生产数据库系统之间的细微差别隐藏在类后面时,它才起作用,但是我一直发现,在SQL应用程序中这相当容易我已经开发了。 只需添加到Free Wildebeest的答案中,我还使用HSQLDB进行了类似的类型测试,其中每个测试都获得一个干净的DB实例。 尽管在其他答案之一中不如Rails单元测试框架那么聪明,但为每个测试或一组测试创建不同的数据是另一种方法。此解决方案的乏味程度取决于您拥有的测试用例的数量以及它们之间的依赖性。如果每个测试或一组相关测试有一个数据库,那么繁琐的工作将适用。 运行测试套件时,首先要加载数据,运行测试套件,然后卸载/比较结果,以确保实际结果符合预期结果。如果不是,请再次执行该循环。加载,运行套件,卸载/比较。 还要在不同的时间运行测试,以使它们不会影响彼此的性能或有效性。 我想同时接受Free Wildebeest和Orion Edwards的回答,但我不接受。我之所以想这样做,是因为我得出的结论是,这是完成此操作的两种主要方法,但是选择哪种方法取决于具体情况(主要是数据库的大小)。 |
最新内容
相关内容
vim运行linux命令?
vim运行linux命令?,系统,工作,信息,地址,命令,标准,时间,情况,工具,基础,linux系统中如何进入退出vim编辑器,方法及区别先按ESC,再输入冒号,在输linux下并行运行命令?
linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,linux多个用户同时执行命令会冲突吗不会冲突。解释:用户登录linuxlinux下并行运行命令?
linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,linux多个用户同时执行命令会冲突吗不会冲突。解释:用户登录linuxlinux命令大全数据库?
linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)登录linux上数据库的命令?
linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)1、登linux命令dm数据库?
linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,linux创建dm数据库超时linux/sys下无法新建 方法如下打开c盘,在用户linux命令行后台运行?
linux命令行后台运行?,服务,状态,标准,暂停,命令,后台,连续,地方,工作,方法,linux中如何把一个进程放在后台运行可见,nohup 的使用是十分方便的脚本运行linux命令?
脚本运行linux命令?,系统,环境,工具,工作,位置,底部,代码,发行,官网,终端,linux下shell脚本命令PS1 主提示符,在特权用户下,默认的主提示符是#,在linux进程运行命令?
linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作命linux显示运行命令?
linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如何查看linux服务器运行状态?1、linux怎么查看服务器状态?我们一起linux运行vim命令?
linux运行vim命令?,系统,工具,官方网站,模式,基础,数据,代码,环境,入口,命令,如何使用Linux系统中的Vim编辑器1、vim编辑器的三种模式:一般模式linux监控命令运行?
linux监控命令运行?,系统,工作,地址,信息,工具,情况,标准,环境,命令,状态,linux服务器监控的几个方法和命令uptime 该命令直观的显示了服务器