|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。
在急迅开辟的理论中,测试驱动是少不了的。这篇来看看在rails中的一个测试驱动开辟的例子。
在后面我们编写并举行了一些单位测试和功效测试,如今,我们的客户俄然请求增加一个功效:体系的每一个用户都能够对商品举行查询。
我们先开端的画了一些草图,来收拾我们的思绪和计划,然后入手下手写代码。关于详细的完成,我们已有了大抵的思绪,可是假如有更多的反应信息的话会有助于我们走在准确的路途上。我们会在深切到代码之前,编写测试代码。思索我们的代码将如何事情,断定一些规约,当测试经由过程,你的代码就OK了。
如今,我们来思索一下查询功效的测试,应当由哪一个controller来把持查询操纵呢?用户和办理员都能够举行查询操纵,我们能够在store_controller.rb大概admin_controller.rb中增加一个search()的Action,可是这里我们增加一个SearchController,而且含有一个办法search。在rails命令行实行命令:- depot>rubyscript/generatecontrollerSearchsearch
复制代码 我们看到,在app/controllers和test/functional目次下已天生了对应的文件。可是如今我们其实不体贴SearchController的search办法的完成,我们体贴的是在测试时我们所希冀看到的了局。如今增加测试代码,在test/functional/search_controller_test.rb中增加test_search办法:
我们起首想到的是挪用search的Action,然后判别是不是失掉了呼应:- get:search,:title=>"PragmaticVersionControl"
- assert_response:success
复制代码 依据之前的草图,我们应当在页面上显现一个Flash信息,以是我们要判别flash信息的文本,和是不是显现了准确的页面:- assert_equal"Found1product(s).",flash[:notice]
- assert_template"search/results"
复制代码 然后我们想要判别查询所失掉的商品信息:- products=assigns(:products)
- assert_not_nilproducts
- assert_equal1,products.size
- assert_equal"PragmaticVersionControl",products[0].title
复制代码 我们还想判别用来显现查询了局的页面的一些内容,我们查询到的商品会作为列表在页面上显现,我们利用catelog视图不异的CSS款式:- assert_tag:tag=>"div",
- :attributes=>{:class=>"results"},
- :children=>{:count=>1,
- :only=>{:tag=>"div",
- :attributes=>{:class=>"catalogentry"}}}
复制代码 <p>
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。 |
|