Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

Rails测试《四》实战单元测试unit test

Rails测试《四》实战单元测试unit test

Rails测试《四》实战单元测试unit test2014-03-15之前的博客介绍了一些rails测试相关的知识。测试文件的位置,测试的类型,测试常用命令,以及可用的一些资源,以及如何利用fixtures生成模拟数据。今天我们来实际的写一下单元测试,用到的知识主要是fixtures和unit test。fixtures用来模拟数据,unit test就是我们今天的主角-单元测试。今天的代码将以blog项目为背景,为这个项目写一些单元测试。这个项目的代码可...
Rails测试《五》实战单元测试

Rails测试《五》实战单元测试

Rails测试《五》实战单元测试2014-03-15用factory-girl替换fixtures来创建模拟数据fixtures在前面我们介绍了,rails的测试系统默认使用fixtures来创建模拟数据,这些数据以yaml的格式书写,放在db/fixtures文件夹中,每个model都有一个对应的文件,test/fixtures/users.yml。在测试启动的时候这些fixtures中的数据会加载到测试数据库,并且加载到变量中,供单元测试和功能测试使用...
Rails测试《六》实战单元测试

Rails测试《六》实战单元测试

Rails测试《六》实战单元测试2014-03-15用factory-girl替换fixtures来创建模拟数据2上一篇我们介绍了factory-girl,这是一个很好的工具,可以用来替代rails中的fixtures,用来生成模拟数据。它直观,易读,易读就易维护。最重要的一点是,它是面向model的,面向业务的,面向应用的,而fixtures模拟的数据是面向数据库的。但是我们的单元测试,功能测试,甚至将来要介绍的集成测试,都是面向业务的,从业务角度出发的...
Rails测试《七》实战功能测试functional test

Rails测试《七》实战功能测试functional test

Rails测试《七》实战功能测试functional test2014-03-15之前我们介绍过,rails的功能测试针对的是controller,测试controller的action是否正确的执行。测试的内容主要是:测试请求是否正确。测试用户是否跳转到正确的页面。测试用户是否验证成功。测试响应中是否包含了正确的对象。测试在view中是否给用户显示了适当的信息。常用的断言函数1.assert_response(type, message = nil)断言...
Rails测试《九》集成测试integration test

Rails测试《九》集成测试integration test

Rails测试《九》集成测试integration test2014-03-15开场白今天我们来熟悉一下rails的集成测试integration test。简介集成测试主要是测试多个controller之间的交互,以及测试应用中比较重要的工作流程,验证这些工作流程是否符合预期的设想。不像单元测试和功能测试,是自动添加的。集成测试是需要我们手动添加的,rails提供了一个命令rails generate integration_test通过命令就可以在te...
Rails测试《十》不能错过的杂七杂八

Rails测试《十》不能错过的杂七杂八

Rails测试《十》不能错过的杂七杂八2014-03-15今天来介绍一些杂七杂八的测试知识,但是它们是不能错过的。首先来介绍一下常用的测试命令rake test运行包括单元测试、功能测试和集成测试在内的所有测试。rake test:units运行所有的单元测试。rake test:functionals运行所有的功能测试rake test:integration运行所有的集成测试。rake test:recent运行最近修改过的测试。rake test:u...
Rails测试《十一》添加邮件发送程序及测试邮件发送程序

Rails测试《十一》添加邮件发送程序及测试邮件发送程序

Rails测试《十一》添加邮件发送程序及测试邮件发送程序2014-03-15讲到测试邮件发送程序,我们首先要让系统可以发送邮件。我们先来给系统添加发送邮件的功能。Action Mailer in Rails 3是一个不错的视频教程,大家可以参考。还有就是http://guides.rubyonrails.org/action_mailer_basics.html中更加详细的介绍。添加邮件发送程序发送邮件要保证我们有目标邮箱,所以呢,我们的用户要有一个属性:...
Ruby设计模式透析:策略(Strategy)

Ruby设计模式透析:策略(Strategy)

Ruby设计模式透析:策略(Strategy)2014-03-15 csdn博客 guolin今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会。要帮什么忙 呢?你很好奇。他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用户的 数据,现在需要完成一个选择性查询用户信息的功能。他说会传递给你一个包含许多用户名的数组,你 需要根据这些用户名把他们相应的数据都给查出来。这个功能很简单的嘛,你爽快地答应了。 由于你们项目...
Ruby设计模式透析:单例(Singleton)

Ruby设计模式透析:单例(Singleton)

Ruby设计模式透析:单例(Singleton)2014-03-15写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你 分析数据,但是Ruby原生带有的puts方法却很少在真正的项目开发中使用。为什么作为Ruby新 手神器的puts,到了真正项目开发当中会被唾弃呢?其实只要细细分析,你就会发现它的很多弊端。比 如不可控制,所有的日志都会在项目上线后照常打印,从而降低运行效率;又或者不能将日志记录到本 地文件,一旦打印被清...
Ruby设计模式透析:模板方法(Template Method)

Ruby设计模式透析:模板方法(Template Method)

Ruby设计模式透析:模板方法(Template Method)2014-03-15 csdn博客 guolin今天你还是像往常一样来上班,一如既往地开始了你的编程工作。项目经理告诉你,今天想 在服务器端增加一个新功能,希望写一个方法,能对Book对象进行处理,将Book对象的所有字段以XML 格式进行包装,这样以后可以方便与客户端进行交互。并且在包装开始前和结束后要打印日志,这样方 便调试和问题定位。没问题!你觉得这个功能简直是小菜一碟,非常自信地开始写...
Ruby设计模式透析:适配器(Adapter)

Ruby设计模式透析:适配器(Adapter)

Ruby设计模式透析:适配器(Adapter)2014-03-15 csdn博客 guolin今天一大早,你的leader就匆匆忙忙跑过来找到你:“快,快,紧急任务!最近ChinaJoy马上就要 开始了,老板要求提供一种直观的方式,可以查看到我们新上线的游戏中每个服的在线人数。”你看了看日期,不是吧!这哪里是马上要开始了,分明是已经开始了!这怎么可能来得及呢?“没关系的。”你的leader安慰你道:&ldqu...
Ruby设计模式透析:组合(Composite)

Ruby设计模式透析:组合(Composite)

Ruby设计模式透析:组合(Composite)2014-03-15听说你们公司最近新推出了一款电子书阅读应用,市场反应很不错,应用里还有图书商城,用户可 以在其中随意选购自己喜欢的书籍。你们公司也是对此项目高度重视,加大了投入力度,决定给此应用 再增加点功能。好吧,你也知道你是逃不过此劫了,没过多久你的leader就找到了你。他告诉 你目前的应用对每本书的浏览量和销售量做了统计,但现在想增加对每个书籍分类的浏览量和销售量以 及所有书籍总的浏览量和销售量做...
程序员该如何学习英语

程序员该如何学习英语

程序员该如何学习英语2014-03-15一、程序员对英语能力的重视度和能力要求应该是在各行各业中排在比较靠前的这样说吧, 英语程度的好坏直接影响着一个程序员的编程、开发、创新能力。道理很简单:1. 计 算机和软件是用英语创造出来的2. 国内的技术普及度不怎么高,而最前沿最好最全的资料也往 往是英语3.你在读OpenSource的一些源码时,这些OpenSource也大都来源于英语因此英 语和技术对于一个程序员来说是各占50%这样的一个比重的,英语能力的好坏...
反馈的问题

反馈的问题

反馈的问题2014-03-15 infoq 李彬 译反馈往往被吹捧成万用灵丹,似乎它能够解决所有软件开发中的灾难的。嗨,我们当然喜欢它!但 我们也需要牢记反馈中的某些重要方面,而不是简单地宣称:“更多、更频繁的反馈”是所有问题的答 案。不是所有的反馈都是均等的。反馈有其代价。这意味着我们需要明智地选择从何处收集反馈,以及打算如何使用它。1) 反馈并不均等反馈不是预言,因为数据并不会告诉我们应该做什么——它只是...
敏捷开发与项目管理实战之敏捷需求分析

敏捷开发与项目管理实战之敏捷需求分析

敏捷开发与项目管理实战之敏捷需求分析2014-03-15 ibm 黄 文海问题背景敏捷开发中许多活动都是全员参与而非专人参与。需求分析同样也可以是全员参与 的一个活动。这反映了敏捷开发的"个人与交互胜过过程与工具"的价值观。需求分析是在需 求理解的基础上进行的。因此,全员参与需求分析有助于及时发现团队成员对同一个需求理解不一致的 问题,这很大程度上避免了缺陷的引入。另外,也有助于规避人力风险。比如,一个需求的开发者突然 需要请假,其他开...
宁愿编写代码?还是把事情都写下来吧!

宁愿编写代码?还是把事情都写下来吧!

宁愿编写代码?还是把事情都写下来吧!2014-03-15 infoq Nate McKie 译:臧秀涛开发者真的非常讨厌花时间写东西,除非写的是代码。然而他们还对这种厌恶振振有词:如果不是代码,它就无法通过编译,也无法确定它是不是有意义。如果不是代码,它就无法执行,所以可能永远无法用于完成任何事情。如果不是代码,也就无法对它进行测试,因此也无法证明它的真实与正确。敏捷宣言中甚至都不再强调文档:可以工作的软件胜过面面俱到的文档。那文档就一无是处吗?我想你知道...
使用基于模型的测试工作流进行与安全相关的软件开发

使用基于模型的测试工作流进行与安全相关的软件开发

使用基于模型的测试工作流进行与安全相关的软件开发2014-03-15 ibm Paul Urban安全相关软件的挑战嵌入式软件已经逐渐成为当今创新型产品的核心。对于在我们日常生活 中必不可少的产品来说,嵌入式软件是定义其功能,控制其电气和机械系统的重要组件。例如,在飞机 、汽车、火车或医疗设备中,故障可能会导致人身伤亡。此时必须倍加谨慎,也需要付出额外的努力, 确保系统安全运作,保证用户的安全,避免代价高昂的产品召回。对于极度注重安全的代码, 企业必须遵循...
探讨回顾会议的四个问题及其作用

探讨回顾会议的四个问题及其作用

探讨回顾会议的四个问题及其作用2014-03-15 infoq 译:夏雪如何提高团队生产率在快节奏的工作中,团队可以借助“回顾会议”时常停下脚步反省当前 工作的进展,基于反省的结果发现还要做哪些改进。经常执行回顾会议能使团队持续改进工作效率,那 么怎样才能更好地开展这项工作呢?让我们从四个简单的问题开始……如何发挥回顾会议的最 大价值在开展回顾会议工作时你可以选择一些方法。有些方法的主要目标是挖掘团队经验...
基于爬虫技术用以提高全球化测试效率的全新自动化解决方案

基于爬虫技术用以提高全球化测试效率的全新自动化解决方案

基于爬虫技术用以提高全球化测试效率的全新自动化解决方案2014-03-15 ibm 张微微, 杨晓波, 张海东随着计算机产业在全球市场的不断扩大,软件产品的全球化显得越来越重要。但在软件全球化过程 中,有许多繁重的工作是去寻找和校验产品界面上翻译后的字符串,从而确保软件产品界面友好并符合 多国语言文化的习惯。这对软件全球化来说是一个很大的挑战。现在我们提供一个基于爬虫技术的自动 化解决方案,用于快速查找和定位在Web应用界面上翻译后的字符串,来减少手工工作...
<< 31 32 33 34 35 36 37 38 39 40 >>