|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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文件,完全内容以下:- 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>
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。 |
|