Ruby on rails开发从头来(windows)(十九)-测试开始

前面我们已经完成了一个简单的购物车,从这篇开始我们看看在rails中怎样进行测试。

在我们创建购物车程序的时候在我们的depot目录下,就已经有一个test目录了,这就是为我们进行测试准备的。到目前为止,我们看到里面的fixtrues和functional,unit目录中已经有对controller和model对应的测试文件。

我们首先测试一下products这个model。代码test\unit目录下的product_test.rb文件,修改其内容为:

require File.dirname(__FILE__) + '/../test_helper'
  
class ProductTest < Test::Unit::TestCase
 fixtures :products
 def setup
  @product = Product.find(1)
 end
 # Replace this with your real tests.
 def test_truth
  assert true
 end
end

然后在命令行里运行测试命令: \rails_apps\depot>ruby test/unit/product_test.rb,将会看到下面的输出:

Loaded suite test/unit/product_test
Started
E
Finished in 0.312 seconds.
  
1) Error:
test_truth(ProductTest):
ActiveRecord::StatementInvalid: Mysql::Error: Table 'depot_test.products' doesn't exist: DELETE FROM products
………
1 tests, 0 assertions, 0 failures, 1 errors

从上面的信息可以看到,是在depot_test数据库中没有products这个表。这是因为,我们在创建一个rails项目的时候,对应的在mysql中创建了三个库:development,test,production,我们之前编写代码使用的都是development库,现在进行测试,rails使用的是test库。我们现在要作的就是在test库里创建products表,你可以使用sql语句来进行表创建的工作,但是rails给我们提供了更方便的办法,在命令行里使用rake命令:

depot>rake clone_structure_to_test

这样就会development库的结构克隆到test库,完成后会看到在test库里已经有我们用到的四个表了。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索目录
, 测试
, 命令
, rails
test
ruby on rails、ruby on rails 教程、ruby on rails pdf、ruby on rails 5 教程、ruby on rails是什么,以便于您获取更多的相关知识。

时间: 2024-09-14 05:27:42

Ruby on rails开发从头来(windows)(十九)-测试开始的相关文章

Ruby on rails开发从头来(windows)(四)-第一个添删查改例子

在上一篇Ruby on rails开发从头来(windows)(三)-实现页面间的跳转中,我们创建了两个页面来进行跳转迁移,这次我们来写一个单表维护的添删查改的例子. 1.这次我们重新创建一个项目depot,按照上篇中的步骤,创建depot项目. 2.创建数据库. 你可以使用rails的命令行,通过mysql创建,先定位到depot目录,使用命令: depot> mysql -u root –p 密码为空,连接mysql后执行下面的命令: mysql> create database depo

Ruby on rails开发从头来(windows)(三)-实现页面间的跳转

在上篇随笔Ruby on rails开发从头来(windows)(二)-创建项目和第一个Hello world 中,我们介绍了如何使用InstantRails创建一个项目和编写一个简单的Helloworld页面,今天在上次的基础上,写一个简单的页面跳转. 1.将appcontrollers目录下的say_controller.rb文件的内容改成下面这样: class SayController < ApplicationController def Hello @time = Time.now

Ruby on rails开发从头来(windows)(一)

使用InstantRails快速搭建Ruby On Rails开发环境 一直对Ruby on Rails抱有很大的兴趣,想看看这个被很多人称道的东西,但是一直在做windows下的开发,对于Ruby on Rails的开发环境搭建还是很头疼,这也是一直没有开始研究Ruby on rails的原因.刚刚在javaeye看到了InstantRails,一个All In One的套件,可以帮助你快速搭建Ruby On Rails开发环境,就立即下了一个试了试,还好,比较顺,起码可以跑起来自带的例子了.

Ruby on rails开发从头来(windows)(十八)-自动生成文档

到此,我们这个购物车的实现就完成了,下面我们可以利用ruby里的Rdoc来给我们的程序生成文档,和dotnet,java,python等一样,Rdoc可以把我们代码里类和方法声明前面的注释提取出来生成文档. 对于我们的depot程序,我们在rails的命令行里运行rake appdoc命令,如图: 开发从头来(windows)(十八)-自动生成文档-ruby on rails"> 完成以后,可以在depot\doc目录下看到刚才生成的文档,打开index.html,看到下面的内容:

Ruby on rails开发从头来(windows)(十五)-添加用户

从这篇开始,我们来实现一组用户管理的功能,首先是添加用户. 1.首先,我们要创建一个表保存用户信息,并且生成一个对应的model. 创建表的脚本,在phpAdmin里执行就可以了: create table users ( id int not null auto_increment, name varchar(100) not null, hashed_password char(40) null, primary key (id) ) 然后在命令行生成User的model,如图: 开发从头来

Ruby on rails开发从头来(windows)(十二)-订单(Order)

在上次的内容里,我们创建了订单的Model,和表示页面,这次继续编写CHECKOUT的处理. 1.在checkout.rhtml的页面上,有一个CHECKOUT按钮,上次还没有给它编写处理代码,现在在store_controller中添加save_order方法,代码如下: def save_order @cart = find_cart @order = Order.new(params[:order]) @order.line_items <<@cart.items if @order.s

Ruby on rails开发从头来(windows)(三十)- NetBeans IDE

到现在,应该告一段落了,总共有二十九篇随笔,干脆凑个整数,再写写IDE环境吧.前面所有的代码都是我用ruby自带的编辑器SciTE编写的,很不方便,随着Rails的发展,目前也有很多IDE推出来,刚刚看到NetBeans推出的6.0rc版,提供了单独的Rails开发环境,这次来简单尝试下. 1.第一步当然是下载NetBeans的6.0rc版,在http://sunmicro.vo.llnwd.net/c1/netbeans/6.0/final/下载. 2.下载后一路默认安装,完成后启动NetBe

Ruby on rails开发从头来(windows)(十)-清空购物车和格式化金额

在上次的内容里,我们给购物车添加了错误处理,这次来实现清空购物车和金额的格式化处理. 到现在我们还没有给显示购物信息列表页面的"empty cart"链接添加任何处理.我们首先来实现这个功能: 1.在Store_Control.rb文件中添加empty_cart方法: def empty_cart find_cart.empty! flash[:notice] = 'Your cart is now empty' redirect_to(:action => 'index') e

Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件

Rails的运行时配置是由config目录下的文件来控制的. 1.运行时环境(Runtime environment) 当开发者编写代码时,需求是多中多样的.在开发中你可能会需要很多的登录,加载变化过的代码.在测试时,你需要各个系统之间是隔离开的.在发布之前,你可能需要进行性能优化,并且时用户远离bug. 为了支持这一切,Rials有运行时配置的概念.每一个环境都拥有自己的一组配置,可以在不同的环境中运行同一个应用程序. 切换运行环境可以使我们不用修改代码就可以从开发切换到测试再切换到发布.怎样

Ruby on rails开发从头来(windows)(三十六)- 调试技巧

这次我们来看看一些关于调试的小提示. 首先,而且也是最重要的就是,编写测试代码,在Rails里编写单元测试和功能测试都很简单,使用它们,可以减低bug发生率,也可以避免在你从前的代码中突然出现bug. 测试代码告诉你哪些东西能够工作,哪些不能,并且,测试代码帮助你隔离那些有问题的代码,因为有时候bug并非很快地表现出来. 如果问题发生在一个Model中,我们可以使用脚本script/console来模拟一个irb对话,在其中进行跟踪,例如下面这样: Z:\study\ruby\InstantRa