仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 684|回复: 11
打印 上一主题 下一主题

[学习教程] 来看Ruby on rails开辟重新来(windows)(二十四)-测试Controller

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:03:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。
上篇漫笔里先容了rails在功效测试方面的一些商定。此次我们持续会到Controller的测试。
之前我们测试的是login,能够相见,用户在login今后就要入手下手举行购物的举措了,以是我们如今就来测试store_controller,我们先来测试index办法。
1.在index里,我们列出了一切的能够发卖的书本的列表,以是,这里我们要让store_controller来利用product.yml和orders.yml里的数据。如今来看看store_controller_test.rb文件,完全内容以下:
  1. requireFile.dirname(__FILE__)+/../test_helper
  2. requirestore_controller
  3. #Re-raiseerrorscaughtbythecontroller.classStoreController;defrescue_action(e)raiseeend;end
  4. classStoreControllerTest<Test::Unit::TestCase
  5. fixtures:products,:orders
  6. defsetup
  7. @controller=StoreController.new
  8. @request  =ActionController::TestRequest.new
  9. @response =ActionController::TestResponse.new
  10. end
  11. #Replacethiswithyourrealtests.defteardown
  12.   LineItem.delete_all
  13. end
  14. end
复制代码
要注重到我们这里的teardown办法,增加这个办法是由于我们将要写的一些测试会直接的将一些LineItem存进数据库中。在一切的测试办法前面界说这个teardown办法,能够很便利的在测试实行后删除测试数据,如许就不会影响到其他的测试。在挪用了LineItem.delete_all以后,line_item表中一切的数据城市被删除。一般情形下,我们不必要如许作,由于fixture会替我们扫除数据,可是这里,我们没有利用line_item的fixture,以是我们要本人来作这件事变。
2.接上去我们增加一个test_index办法:
  1. deftest_index
  2.   get:index
  3.   assert_response:success
  4.   assert_equal2,assigns(:products).size
  5.   assert_template"store/index"
  6.  end
复制代码
由于我们在后面的Model的测试里已测试了Products的CRUD,以是这里,我们测试index的Action,而且看看Products的个数,是否是利用了指定的View来刻画(render)页面。
我们在Controller中利用了Model,假如Controller的测试失利了,而Model的测试经由过程了,那末一样平常就要在Controller中查找成绩,假如Controller和Model的测试都失利了,那末我们最幸亏Model中查找成绩。
<p>
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。
沙发
发表于 2015-1-20 13:29:32 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-24 16:17:38 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
老尸 该用户已被删除
地板
发表于 2015-1-25 17:30:23 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
简单生活 该用户已被删除
5#
发表于 2015-1-28 06:01:40 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
若天明 该用户已被删除
6#
发表于 2015-1-28 20:33:30 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
小女巫 该用户已被删除
7#
发表于 2015-2-6 02:43:17 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
因胸联盟 该用户已被删除
8#
发表于 2015-2-15 03:09:03 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
再现理想 该用户已被删除
9#
发表于 2015-3-4 11:00:47 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
分手快乐 该用户已被删除
10#
发表于 2015-3-11 18:32:27 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
冷月葬花魂 该用户已被删除
11#
发表于 2015-3-19 07:27:52 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
不帅 该用户已被删除
12#
 楼主| 发表于 2015-3-27 12:12:20 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 16:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表