功能/集成测试问题

0 views
Skip to first unread message

大师傅

unread,
Sep 2, 2007, 11:07:05 AM9/2/07
to rails4scm
rails的单元测试testcase一般都是在命令行下用ruby直接执行

那本书介绍功能测试和集成测试时,写了一大堆,而且是英文的,看不明白。 但好像对这两种测试是在web方式下进行的? 至少rails的目录环境可以
应用,不象unittest那样总找不到路径。

各位谁弄明白了web方式下的测试方法,简化地给讲解一下?省得去啃那大本资料

yuexingfu

unread,
Sep 9, 2007, 5:24:56 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 DemoTest < Test::Unit::TestCase
fixtures :demos
def test_truth
assert true
end
end

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

yuexingfu

unread,
Sep 9, 2007, 5:27:05 AM9/9/07
to rails4scm
Reply all
Reply to author
Forward
0 new messages