在rails中执行rake测试时,测试数据是在app_name\test\fixtures中准备好的(基本上和app_name\app\models中的model是对应的)。
那么在执行rake命令时,fixtures中的数据是怎样加载的呢?
1、加载时间:
①执行rake命令:
[12:34:30 root@rap app_name]$rake --trace
或者 (只测试units部分)
[12:34:30 root@rap app_name]$rake test:units --trace
或者 (只测试functionals部分)
[12:34:30 root@rap app_name]$rake test:functionals --trace
②在执行rake测试命令后:
首先,rails会清空app_name\config\database.yml中test区段配置的数据库;
然后,rails会将database.yml中development区段所配置数据库中的所有表结构导入至test区段配置的数据库;
然后,rails准备好测试数据库的数据结构后,rake命令开示执行具体的测试case;
然后,在rake命令执行某个测试文件时,如果发现文件中如下类似的代码时:
...省略...
fixtures :modelones, :modeltwos, :modelthrees
...省略...
那么,rails就向测试数据库中开始导入fixtures目录中的modelones.yml,modeltwos.yml,modelthrees.yml数据了。
③在执行rake测试过程中所有具体测试case对测试数据库的增删改操作都是即时的,不会被commit的;
也就是说具体测试case对测试数据库的增删改操作完成后都是被回滚的。
因此在执行完rake测试后你会发现测试数据库中的数据和fixtures目录中准备的数据一模一样。
④最后需要注意的一点是:
如果只是按照命令执行某一个测试case↓时,会直接利用现有测试数据库数据,而不会去清空数据库然后再重新导入。
[12:34:30 root@rap app_name]$ruby test/unit/filename -n testcasename
[12:34:30 root@rap app_name]$ruby test/functional/filename -n testcasename
分享到:
相关推荐
来自practical rails social networking sites上的第二章的实例,应用了数据导入,导入数据到mysql后就可以使用,命令: rake db:migrate(进入文件夹"railscoder")
使用halcon进行测量,使用的是rake算子;使用halcon进行测量,使用的是rake算子;
rake详解
rake接收机仿真程序,包括多个仿真
RAKE接收技术是第三代CDMA移动通信系统中的一项重要技术。在CDMA移动通信系统中,由于信号带宽较宽,存在着复杂的多径无线电信号,通信受到多径衰落的影响。RAKE接收技术实际上是一种多径分集接收技术,可以在时间上...
针对异地通信网络的3G最佳接收机matlab程序。设计的三种RAKE接收机程序。非常实用。
rake工具是用来检测直线的,通过鼠标画一条线,然后工具根据已设定好的参数去附近区域寻找并拟合直线,返回这条直线。两条直线就可以计算交点了。 rake工具封装了三个函数来完成,代码不少,下面我就来展示详细的...
rake for rails rake-0.8.7安装rails必须资源
rake-0.8.3.gem redmind安装必需
rake for rails 安装rails资源
Rake接收机性能仿真(与非Rake接收机对比).pdfRake接收机性能仿真(与非Rake接收机对比).pdf
rake接收(多径分集技术)+matlab仿真程序
rake-0.8.7 for rails 安装rails必须的资源
仿真3径信道下Rake接收机的性能,其中3径的时延差结构为[0 1 2]Tc,扩频增益N=128,假设各径的信道增益hl满足Rayleigh分布的随机变量,且各径独立,各径的平均功率为[0.5 0.3 0.2],用matlab仿真Rake接收机的性能...
一篇介绍自适应Rake接受技术的硕士论文 希望对有相关研究的人有帮助
基于Matlab的Rake接受机的仿真 发射端包括分集发射,接收端的最大比值合并、等增益合并以及选择式合并方式
ofdm的一个实例,很简单但个人觉得蛮不错的,故推荐下
采用simulink仿真除直接序列扩频系统 的rake接收仿真,个人感觉很不错,和大家分享一下,
RAKE关键词提取python代码,python源码RAKE关键词提取python代码,python源码
为了提高传统Rake接收机在无线通信系统中的性能,消除信号间的干扰和噪声,采用一种改进的基于最小均方误差(LMS)算法的Rake接收机,该结构针对传统的MRCRake接收机需通过增加分支数来提高性能,而MMSERake接收...