欢迎来到天天文库
浏览记录
ID:21032101
大小:447.00 KB
页数:58页
时间:2018-10-18
《rails敏捷开发《3》》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、下载可编辑14.4应用程序的集成测试IntegrationTestingofApplications下一个层面的测试是要验证应用程序的工作流程。在某种意义上,这就是在测试客户交给我们的用户故事——我们正是根据这些故事来开发应用程序的。譬如说,有这样一个故事:“用户进入商店首页。用户选择一件货品,将其放入购物车。用户结账,在表单中填入详细信息。用户提交表单之后,数据库中创建一份订单,其中包含用户详细信息,以及与购物车中所有货品对应的订单项。”这正是集成测试的理想材料。集成测试需要模拟一个或多个虚拟用户与应用程序之间的一组连续的会
2、话,你可以在其中发送请求、监控应答、跟踪重定向,等等。当创建模型,控制器的同时,Rails就会创建对应的单元测试/功能测试。集成测试却不是自动创建的,你需要自己动手来创建它们。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自动地给测试文件的名称加上了_test后缀。现在来看看这个生成的文件。require"#{File
3、.dirname(__FILE__)}/../test_helper"classUserStoriesTest4、始处就将其加载进来。fixtures:products跟单元测试和功能测试一样,这里的测试方法名也应该以test一开头。deftest_buying_a_product#...end当测试结束时,我们期望orders表中新增一份订单数据、line_items表中新增了一份订单项数据,因此在测试开始之前应首先将它们清除掉。另外,由于会经常使用ruby_book这项夹具数据,我们首先将它放入一个局部变量中。depot_r/test/integration/user_stories_test.rbLineItem.delete_al5、lOrder.delete_allruby_book=products(:ruby_book)我们先来搞定用户故事中的第一句话:“用户进入商店首页”。depot_r/test/integration/user_stories_test.rbget"/store/index"assert_response:successassert_template"index"专业资料精心整理下载可编辑14.4应用程序的集成测试IntegrationTestingofApplications下一个层面的测试是要验证应用程序的工作流程。在某种意6、义上,这就是在测试客户交给我们的用户故事——我们正是根据这些故事来开发应用程序的。譬如说,有这样一个故事:“用户进入商店首页。用户选择一件货品,将其放入购物车。用户结账,在表单中填入详细信息。用户提交表单之后,数据库中创建一份订单,其中包含用户详细信息,以及与购物车中所有货品对应的订单项。”这正是集成测试的理想材料。集成测试需要模拟一个或多个虚拟用户与应用程序之间的一组连续的会话,你可以在其中发送请求、监控应答、跟踪重定向,等等。当创建模型,控制器的同时,Rails就会创建对应的单元测试/功能测试。集成测试却不是自动创建的,你7、需要自己动手来创建它们。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自动地给测试文件的名称加上了_test后缀。现在来看看这个生成的文件。require"#{File.dirname(__FILE__)}/../test_helper"classUserStoriesTest8、tegrationTest#fixtures:your,:models#Replacethiswithyourrealtests.deftest_truthasserttrueendend看起来有些像功能测试,不过测试类继承了IntegrationTest类。下面就来动手编写
4、始处就将其加载进来。fixtures:products跟单元测试和功能测试一样,这里的测试方法名也应该以test一开头。deftest_buying_a_product#...end当测试结束时,我们期望orders表中新增一份订单数据、line_items表中新增了一份订单项数据,因此在测试开始之前应首先将它们清除掉。另外,由于会经常使用ruby_book这项夹具数据,我们首先将它放入一个局部变量中。depot_r/test/integration/user_stories_test.rbLineItem.delete_al
5、lOrder.delete_allruby_book=products(:ruby_book)我们先来搞定用户故事中的第一句话:“用户进入商店首页”。depot_r/test/integration/user_stories_test.rbget"/store/index"assert_response:successassert_template"index"专业资料精心整理下载可编辑14.4应用程序的集成测试IntegrationTestingofApplications下一个层面的测试是要验证应用程序的工作流程。在某种意
6、义上,这就是在测试客户交给我们的用户故事——我们正是根据这些故事来开发应用程序的。譬如说,有这样一个故事:“用户进入商店首页。用户选择一件货品,将其放入购物车。用户结账,在表单中填入详细信息。用户提交表单之后,数据库中创建一份订单,其中包含用户详细信息,以及与购物车中所有货品对应的订单项。”这正是集成测试的理想材料。集成测试需要模拟一个或多个虚拟用户与应用程序之间的一组连续的会话,你可以在其中发送请求、监控应答、跟踪重定向,等等。当创建模型,控制器的同时,Rails就会创建对应的单元测试/功能测试。集成测试却不是自动创建的,你
7、需要自己动手来创建它们。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自动地给测试文件的名称加上了_test后缀。现在来看看这个生成的文件。require"#{File.dirname(__FILE__)}/../test_helper"classUserStoriesTest8、tegrationTest#fixtures:your,:models#Replacethiswithyourrealtests.deftest_truthasserttrueendend看起来有些像功能测试,不过测试类继承了IntegrationTest类。下面就来动手编写
8、tegrationTest#fixtures:your,:models#Replacethiswithyourrealtests.deftest_truthasserttrueendend看起来有些像功能测试,不过测试类继承了IntegrationTest类。下面就来动手编写
此文档下载收益归作者所有