来看Ruby on rails开辟重新来(windows)(二十四)-测试Controller
到时我们不用学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文件,完全内容以下:
requireFile.dirname(__FILE__)+/../test_helper
requirestore_controller
#Re-raiseerrorscaughtbythecontroller.classStoreController;defrescue_action(e)raiseeend;end
classStoreControllerTest<Test::Unit::TestCase
fixtures:products,:orders
defsetup
@controller=StoreController.new
@request =ActionController::TestRequest.new
@response =ActionController::TestResponse.new
end
#Replacethiswithyourrealtests.defteardown
LineItem.delete_all
end
end要注重到我们这里的teardown办法,增加这个办法是由于我们将要写的一些测试会直接的将一些LineItem存进数据库中。在一切的测试办法前面界说这个teardown办法,能够很便利的在测试实行后删除测试数据,如许就不会影响到其他的测试。在挪用了LineItem.delete_all以后,line_item表中一切的数据城市被删除。一般情形下,我们不必要如许作,由于fixture会替我们扫除数据,可是这里,我们没有利用line_item的fixture,以是我们要本人来作这件事变。
2.接上去我们增加一个test_index办法:
deftest_index
get:index
assert_response:success
assert_equal2,assigns(:products).size
assert_template"store/index"
end由于我们在后面的Model的测试里已测试了Products的CRUD,以是这里,我们测试index的Action,而且看看Products的个数,是否是利用了指定的View来刻画(render)页面。
我们在Controller中利用了Model,假如Controller的测试失利了,而Model的测试经由过程了,那末一样平常就要在Controller中查找成绩,假如Controller和Model的测试都失利了,那末我们最幸亏Model中查找成绩。
<p>
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
页:
[1]