关于测试[一]

0 views
Skip to first unread message

yuexingfu

unread,
Sep 9, 2007, 7:20:30 AM9/9/07
to rails4scm
Rails按照惯例,分为以下几种测试:
[1]模型的测试叫单元测试(unit test)
[2]控制器的测试叫功能测试(functional test)
[3]对于"横跨多个控制器的业务流程"进行的测试叫集成测试(integration test)

第一问题:把测试放在哪里。
Rails已经生成了一套测试的基础。在项目的顶层目录里面,有一个叫test的子目录,这个目录里面有五个子目录,以及一个辅助文件:
Fixtures/ functional/ integration/ mocks/ unit/
test_helper.rb

第二个问题:如何编写测试
require File.dirname(__FILE__) + '/../test_helper'
class ProductTest < Test::Unit::TestCase
fixtures : products
def test_truth
assert true
end
end

ProductTest是 Test::Unit::TestCase的子类,这表明Rails是在Test::Unit框架的基础上生成测试代码
的。
自动生成的测试代码中有些什么呢?Rails生成了两个东西。
[1] fixtures :products 它帮我们数据库里重新填入正确的测试数据。
[2] test_truth()方法。它的方法名以test开头,说明测试框架将把它当测试方法来运行;其中的assert一行是实际的测试-并不是
那么"实际",它所做的一切无非是检验true确实true是而已,虽然这是一段占位程序,但非常重要,因为它让我们看到所有的测试基础设施都已经到
位。

Reply all
Reply to author
Forward
0 new messages