仓酷云

标题: 来看Ruby on rails开辟重新来(windows)(二十七)- 测试驱动开辟 [打印本页]

作者: 逍遥一派    时间: 2015-1-18 11:03
标题: 来看Ruby on rails开辟重新来(windows)(二十七)- 测试驱动开辟
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。
在急迅开辟的理论中,测试驱动是少不了的。这篇来看看在rails中的一个测试驱动开辟的例子。
在后面我们编写并举行了一些单位测试和功效测试,如今,我们的客户俄然请求增加一个功效:体系的每一个用户都能够对商品举行查询。
我们先开端的画了一些草图,来收拾我们的思绪和计划,然后入手下手写代码。关于详细的完成,我们已有了大抵的思绪,可是假如有更多的反应信息的话会有助于我们走在准确的路途上。我们会在深切到代码之前,编写测试代码。思索我们的代码将如何事情,断定一些规约,当测试经由过程,你的代码就OK了。
如今,我们来思索一下查询功效的测试,应当由哪一个controller来把持查询操纵呢?用户和办理员都能够举行查询操纵,我们能够在store_controller.rb大概admin_controller.rb中增加一个search()的Action,可是这里我们增加一个SearchController,而且含有一个办法search。在rails命令行实行命令:
  1. depot>rubyscript/generatecontrollerSearchsearch
复制代码
我们看到,在app/controllers和test/functional目次下已天生了对应的文件。可是如今我们其实不体贴SearchController的search办法的完成,我们体贴的是在测试时我们所希冀看到的了局。如今增加测试代码,在test/functional/search_controller_test.rb中增加test_search办法:
我们起首想到的是挪用search的Action,然后判别是不是失掉了呼应:
  1. get:search,:title=>"PragmaticVersionControl"
  2. assert_response:success
复制代码
依据之前的草图,我们应当在页面上显现一个flash信息,以是我们要判别flash信息的文本,和是不是显现了准确的页面:
  1. assert_equal"Found1product(s).",flash[:notice]
  2. assert_template"search/results"
复制代码
然后我们想要判别查询所失掉的商品信息:
  1. products=assigns(:products)
  2. assert_not_nilproducts
  3. assert_equal1,products.size
  4. assert_equal"PragmaticVersionControl",products[0].title
复制代码
我们还想判别用来显现查询了局的页面的一些内容,我们查询到的商品会作为列表在页面上显现,我们利用catelog视图不异的css款式:
  1. assert_tag:tag=>"div",
  2.    :attributes=>{:class=>"results"},
  3.    :children=>{:count=>1,
  4.    :only=>{:tag=>"div",
  5.    :attributes=>{:class=>"catalogentry"}}}
复制代码
<p>
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。
作者: 小女巫    时间: 2015-1-20 13:28
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 透明    时间: 2015-1-22 17:30
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者: 蒙在股里    时间: 2015-1-24 16:17
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者: 若天明    时间: 2015-1-25 17:30
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 若相依    时间: 2015-1-28 20:33
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者: 再现理想    时间: 2015-2-5 16:13
Java是一种计算机编程语言,拥有跨平台、面向对java
作者: 冷月葬花魂    时间: 2015-2-12 22:41
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 柔情似水    时间: 2015-3-3 10:26
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 爱飞    时间: 2015-3-11 09:55
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 精灵巫婆    时间: 2015-3-18 03:39
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 不帅    时间: 2015-3-25 11:09
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2