关于测试[二]

3 views
Skip to first unread message

yuexingfu

unread,
Sep 9, 2007, 7:21:19 AM9/9/07
to rails4scm
测试夹具介绍:
在Rails里,测试夹具负责指定模型对象初始的内容。也就是说,如果希望确保products表在每个单元测试开始之前具有同样的内容,则只需要在夹
具中指定这些。
可以在test/fixtures目录中指定夹具数据。该目录中的文件包含了测试所用的数据,格式可以是CSV或者YMAL。Rails推荐使用
YAML。每个YAML夹具文件包含了一个模型类的初始数据。夹具文件的名称很重要:文件的名称必须和数据库的表名称相匹配。在最初生成模型
时,Rails已经创建了这个夹具文件如:
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
one:
id: 1
two:
id: 2
夹具文件中的每个条目分别代表将要被插入数据库的一条记录,每条记录又分别有一个名称。在Rails生成的夹具中,两条记录分别被命名
为"one"和"two"。名称与数据库并没有太大的关系。记录名称在测试代码中要用到。
在每个条目中,是以一组"名/值"形式出现的属性列表,不过Rails生成的夹具只对ID属性设了值。在每个数据行的开头处必须使用空格来缩进,而不能
使用Tab键,并且同一条记录中所有的数据行必须使用同样的缩进。最后,要确保每个条目中的每个字段的名称正确:如果YAML中指定的属性名与数据库字
段名不匹配,可能导致一些很难跟踪的异常。
下面是一个具体的例子:
test/products.yml
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
one:
id: 1
title: Progtamming Ruby
descriptipn: Dummy description
price: 12.34
image_url: ruby.png
two:
id: 2
title: Progtamming Ruby
descriptipn: Dummy description
price: 12.34
image_url: ruby.png
现在已经创建夹具文件了,还需要让Rails在运行单元测试之前先把测试数据载入products表。实际上Rails已经这样做了,全靠
ProductTest中的这句代码:fixtures : products
fixtures : products这行代码会让Rails去加载products.yml夹具文件。
加上fixtures这条指令就意味着在执行每个测试方法之前,products表会被首先清空,然后插入夹具文件中的记录。

大师傅

unread,
Sep 9, 2007, 9:41:34 PM9/9/07
to rails4scm
写了半天,连怎么执行测试,都没有给大家介绍一下?

On 9月9日, 下午7时21分, yuexingfu <yuexin...@163.com> wrote:
> 测试夹具介绍:
> 在Rails里,测试夹具负责指定模型对象初始的内容。也就是说,如果希望确保products表在每个单元测试开始之前具有同样的内容,则只需要在夹
> 具中指定这些。
> 可以在test/fixtures目录中指定夹具数据。该目录中的文件包含了测试所用的数据,格式可以是CSV或者YMAL。Rails推荐使用
> YAML。每个YAML夹具文件包含了一个模型类的初始数据。夹具文件的名称很重要:文件的名称必须和数据库的表名称相匹配。在最初生成模型
> 时,Rails已经创建了这个夹具文件如:

> # Read about fixtures athttp://ar.rubyonrails.org/classes/Fixtures.html


> one:
> id: 1
> two:
> id: 2
> 夹具文件中的每个条目分别代表将要被插入数据库的一条记录,每条记录又分别有一个名称。在Rails生成的夹具中,两条记录分别被命名
> 为"one"和"two"。名称与数据库并没有太大的关系。记录名称在测试代码中要用到。
> 在每个条目中,是以一组"名/值"形式出现的属性列表,不过Rails生成的夹具只对ID属性设了值。在每个数据行的开头处必须使用空格来缩进,而不能
> 使用Tab键,并且同一条记录中所有的数据行必须使用同样的缩进。最后,要确保每个条目中的每个字段的名称正确:如果YAML中指定的属性名与数据库字
> 段名不匹配,可能导致一些很难跟踪的异常。
> 下面是一个具体的例子:
> test/products.yml

> # Read about fixtures athttp://ar.rubyonrails.org/classes/Fixtures.html

yuexingfu

unread,
Sep 10, 2007, 1:23:51 AM9/10/07
to rails4scm
一步一步来.前几节是介绍基础的,在后面会具体介绍。

大师傅

unread,
Sep 10, 2007, 5:26:08 AM9/10/07
to rails4scm
jifeng 有个好的PDF,对测试进行提纲性地介绍,正好和你这个可以配合。 一会他会传到"文件下载"那里

On 9月10日, 下午1时23分, yuexingfu <yuexin...@163.com> wrote:
> 一步一步来.前几节是介绍基础的,在后面会具体介绍。

hnlijifeng

unread,
Sep 10, 2007, 5:58:59 AM9/10/07
to rails4scm
已上传,希望对你有帮助。

On 9月10日, 下午5时26分, 大师傅 <fuxi...@sina.com> wrote:
> jifeng 有个好的PDF,对测试进行提纲性地介绍,正好和你这个可以配合。 一会他会传到"文件下载"那里
>
> On 9月10日, 下午1时23分, yuexingfu <yuexin...@163.com> wrote:
>
>
>

> > 一步一步来.前几节是介绍基础的,在后面会具体介绍。- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Reply all
Reply to author
Forward
0 new messages