国内外知名IT科技博客(强烈推荐)

JUnit基础及首个单元测试实例(JUnit3.8)

 

 

单元测试

  单元测试(unit
testing)
,是凭借对软件受到的最小然测试单元举行检查与验证。

  单元测试不是以验证你是对的,而是以印证您没有错误。

  单元测试紧假若为此来判断程序的举办结果与和谐梦想之结果是否一律。

  关键是介于所用之测试用例(Test
Case)

 

国内

JUnit

  JUnit是一个Java语言的单元测试框架。

  项目主页:http://junit.org/

  Java的博IDE,比如Eclipse集成了JUnit,只需要在build
path中添加Library并摘想就此底版即可。

  JUnit的星星栽重要版本是JUnit 3.8同JUnit
4,前者以反射,后者以反射和注释。

  博文回顾:本博客上次介绍JUnit的下是以照和注释之后:

  http://www.cnblogs.com/mengdd/archive/2013/02/02/2890204.html

  

 

结合实例来证实单元测试的用法:

1、36氪(www.36kr.com):
方今境内开的绝风生水从的科技博客,以介绍国内外互联网创业音讯为主的博客网站,自己建起36Tree互联网创业融投资社区。36氪的讳源于元素周期
表的第36号元素“氪”,化学符号为Kr。传说着之氪星是超人的本土。除了为创业者免费供信息报道,他们掌管的“36氪开放日”为先前时期互联网创业集团新创产品发表,提供了杀不错的阳台,每月在全国各级大城市举行。

1.辑目的类源代码

  新建一个型,起名叫JUnitTest,首先编写一个靶类Calculator:

package com.mengdd.junit;

public class Calculator
{
    public int add(int a, int b)
    {
        return a + b;
    }

    public int subtract(int a, int b)
    {
        return a - b;
    }

    public int multiply(int a, int b)
    {
        return a * b;
    }

    public int divide(int a, int b)
    {
        return a / b;
    }
}

 

2、Tech2IPO(www.tech2ipo.com):tech2ipo
自己平素被“科技立异创业媒体”,Tech2IPO是Technology to IPO的缩写,意在报道早期创业型公司,寻找革新性创业集团,在关注成立业集团、创业音信、创业经历的又,还吧创业者提供找人、找钱、找宣传的一行服务。

2.添加JUnit库

  然后为用JUnit,需要进入库:

  右键选取项目Properties->右侧Java
Build Path->标签Libraries->Add Library…

图片 1

  弹出之对话框中选JUnit,然后Next,再摘JUnit
3要么JUnit 4.

  本文示例选取JUnit 3。

 

3、互联网这一点事(www.alibuybuy.com):
聚焦互联网前沿资讯,网络精华内容,交新生儿窒息品体验!这即使是互联网这一点从网站的要旨,这些稳定仍然于雄厚的,不像前片个定位于创业公司音信报道,互联网那点事,定位于关心IT行业,互联网行业有的新闻,关注互联网产品之统筹、用户体验、营销、形式等逾实用的东西,让互联网从业人士在此间都能找到好想使
的物。

3.创建测试类

  这里要小心以下几点:

  1.下JUnit的极品实践:源代码和测试代码需要分开。

  所以可以新建一个称作test的source
folder,用于存放测试类源代码。这样以布告程序的时刻测试类的顺序尽管好废弃了。

  然则这半单文件夹着的类编译出的class文件都会师于同一个bin文件夹着。

  2.测试接近和对象源代码的好像应该放在与一个保下,即她的包名应该相同。

  这样测试类中就是无须导入源代码所在的管教,因为其在同一个保证下。

  3.测试类的命名规则

  以使测试的类名在此以前要下加上Test。

  此步骤完成后项目目录如下:

  图片 2

 

4、分享网络2.0(www.showeb20.com):关注最富有Web2.0气派的初期创业项目,同样也是关爱创业项目标科技博客,但聚焦在享受网络2.0博客上之类型,基本上都持有Web2.0气度,即再注重用户创造价值。但所有博客网站及眼前几单比起来,略发单薄。

4.测试类代码编写

  测试类必须连续于TestCase类。

  TestCase文档表明:

public
abstract class TestCase
extends
Assert
implements
Test

A test case
defines the fixture to run multiple tests.

To define a
test case
1) implement a
subclass of TestCase
2) define
instance variables that store the state of the fixture
3) initialize
the fixture state by overriding setUp
4) clean-up
after a test by overriding tearDown.
Each test runs in its own fixture so
there can be no side effects among test runs.

  (本文最后参考资料中会于出JUnit文档的网盘链接,有得而下载)

  还有一个特别要紧之Assert类,参见文档,全是static
void方法。

对此测试类中艺术的求:

  在JUnit
3.8遭受,测试方法需要满足如下原则:

  1.public的。

  2.void的。

  3.随便道参数。

  4.办法名称必须坐test起始。
(它通过反射找来具有办法,然后搜索有为test开始的不二法门)。

 

Test
Case之间必然假诺维持了的独立性,不允出现任何的指关系。

  删除一些艺术后无相会指向任何的法门来其他的影响。

  大家无可知凭借让测试方法的尽顺序。

 

综上,编写代码如下:

package com.mengdd.junit;

import junit.framework.Assert;
import junit.framework.TestCase;

public class CalculatorTest extends TestCase
{
    public void testAdd()
    {
        Calculator calculator = new Calculator();
        int result = calculator.add(1, 2);
        // 判断方法的返回结果
        Assert.assertEquals(3, result);// 第一个参数是期望值,第二个参数是要验证的值
    }

    public void testSubtract()
    {
        Calculator calculator = new Calculator();
        int result = calculator.subtract(1, 2);
        // 判断方法的返回结果
        Assert.assertEquals(-1, result);// 第一个参数是期望值,第二个参数是要验证的值

    }

    public void testMultiply()
    {
        Calculator calculator = new Calculator();
        int result = calculator.multiply(2, 3);
        // 判断方法的返回结果
        Assert.assertEquals(6, result);// 第一个参数是期望值,第二个参数是要验证的值

    }

    public void testDivide()
    {
        Calculator calculator = new Calculator();
        int result = calculator.divide(12, 3);
        // 判断方法的返回结果
        Assert.assertEquals(4, result);// 第一个参数是期望值,第二个参数是要验证的值

    }


}

 

  运行一下:右键接纳该类,Run
As->JUnit Test

 图片 3

  (可以以这边右键采取Run重复运行)

  JUnit的口号:Keep
the bar green to keep the code clean.

5、i黑马(www.iheima.com):2012
年九月6日上线刚刚上线的一个网站平台,他一致出生便生出正值《创业家》杂志的背景,更富有黑马基金丰雄厚力作为背景,从项目发现到花色改进,再到路报道、项
目诊断、经验分享到,最终也是最好直接的,他得为适度的协会融资,含在钱钥匙出生之i黑马注定要改成科技博客界的突然,他不需要被买断,他单待认
准了去收购其外人即使得了。

 

6、动点科技(cn.technode.com):紧要通讯中国同北美洲的太
新科技讯,创业公司、投资动态及行业大势发展,同时动点科技为深关注呢目的在于引领前沿技术和商业形式,如社会化媒体,移动互联网,电子商务及增长现实
等等,动点科技不仅仅是通讯,依旧单可怜实在的招人的阳台,分享的平台、不定期举办的各类会议更加创业集团不足多得之当场联系的阳台。

5.代码重构:setUp()方法的应用

  有一个谱:DRY(Don’t Repeat Yourself)

  所以对代码举行重构,将更的变更对象的一部分在setUp()方法被。

  (重写的时候以protected变为public,继承的时节扩充访问范围是未曾问题的。)

  先举行一个艺术的测试测试:

  于CalculatorTest类中出席代码如下:

    @Override
    public void setUp() throws Exception
    {
        System.out.println("set up");
    }

    @Override
    public void tearDown() throws Exception
    {
        System.out.println("tear down");
    }

 

  再次运行后发现Console中输出如下:

图片 4

  表达及时有限独办法执行了多次。

 

  每当每个测试用例在此之前实施setUp(),每个测试用例执行后,tearDown()会履。

  便于每个测试用例,执行顺序吗:

  1.setUp()

  2.testXXX()

  3.tearDown()

 

  重构:使用成员变量生成对象(为了可以在每个方法被还施用),将转移对象的言语放在setUp()中,注意这里为各级一个测试用例都晤面变卦新的目标。

  重构后代码如下:

 

package com.mengdd.junit;

import junit.framework.Assert;
import junit.framework.TestCase;

public class CalculatorTest extends TestCase
{

    private Calculator calculator = null;

    @Override
    public void setUp() throws Exception
    {
        System.out.println("set up");
        // 生成成员变量的实例
        calculator = new Calculator();
        System.out.println(calculator);
    }

    @Override
    public void tearDown() throws Exception
    {
        System.out.println("tear down");
    }

    public void testAdd()
    {
        int result = calculator.add(1, 2);
        // 判断方法的返回结果
        Assert.assertEquals(3, result);// 第一个参数是期望值,第二个参数是要验证的值
    }

    public void testSubtract()
    {
        int result = calculator.subtract(1, 2);
        // 判断方法的返回结果
        Assert.assertEquals(-1, result);// 第一个参数是期望值,第二个参数是要验证的值

    }

    public void testMultiply()
    {
        int result = calculator.multiply(2, 3);
        // 判断方法的返回结果
        Assert.assertEquals(6, result);// 第一个参数是期望值,第二个参数是要验证的值

    }

    public void testDivide()
    {
        int result = calculator.divide(12, 3);
        // 判断方法的返回结果
        Assert.assertEquals(4, result);// 第一个参数是期望值,第二个参数是要验证的值

    }


}

 

  运行后决定高出口:

图片 5

   证实每一个测试的办法前后都会师时有产生setUp()和tearDown()方法的调用,所以每一遍变更的且是一个初的对象,各类艺术中无打扰

 

 

7、商业不依赖谱(www.bukop.com):
虽说于名叫不借助谱,可是内容或比靠谱的,它所报道的装有的立异性应用,都是切实可行分配至每个应用场景系列吃去的,从内阁采用至环保应用,再届零售行业,
分门别类一目通晓,商业不依赖谱相比较其他的眷顾创业的科技博客,他们更为讲究创业之要害,每个报道依然关键,而对于创业公司管理、产品设计等死少问津,对
于寻找创意仍然好有协理的。

参考资料

  圣思园张龙先生Unit
Test系列录像教程。

  CHM格式文档网盘链接:

  JUnit
3.8.1:http://pan.baidu.com/share/link?shareid=539342&uk=2701745266

  JUnit
4.0:http://pan.baidu.com/share/link?shareid=539345&uk=2701745266

 

8、科技娲母(www.techwom.com):那么些名字相比起特点,娲母:女娲,人类女神,科技娲母,意指孕育科技之女神。科技娲母重要关心移动互联网,从活动互联网的始末、格局、运营到产品开发管理,一应俱全,关注移动互联网的童鞋能够错过看看。

9、雷锋网(leiphone.com):由同样森移动互联网的教徒建立,他们受到生出投资人,有观看者,有成品经理,有知名玩家,还有创业者。我们拿合理敏锐地记下移动互联网的每一样龙。他的“专题”栏目,是一对一有看头,用了分外的意念的。

10、爱范儿(www.ifanr.com):
爱范儿创立于早,08年四月便上线了,09年便用了今日头条出色独立博客奖,近期关爱活动互联网、集中报道创业团队,最不好的智能手执及太深的互联网采取,
对业界生态、智能产品与动应用具有浓厚的知情。有一个比起风味的栏目就是“现场”,报道司空眼惯发表会,现场会的主旋律。

11、月光博客(www.williamlong.info):月光这些典型性科技博客一定不克脱的,个人建博客赚到第一桶金的旗帜,是一个以探讨电脑技术及互联网科技为主底私家IT评论博客,专注让互联网和寻找引擎行业之原创IT评论博客。

12、分享网络(shareweb.me):又一个关心互联网创业之科技博客。关注最为难,最好游戏,最好用,最称心,最新奇之网站以及免费音讯!最要命的特性是,他们才报道使以及活,每篇作品就介绍一个网站产品,也是一个截取创意和标准动态的好去处。

13、网站分析在神州(www.chinawebanalytics.cn):关注点很有特色吗够呛现实,是一个单纯关注网站分析的科技博客,网站分析的阅历、工具、方法、培训周,想假诺领会网站分析者的情节,可以错过她们博客看看。

14、天涯海阁(Web20share.com):是一个关注国内外改进互联网、移动互联网初创店的博客。致力为提供一个显优良互联网、移动互联网初创集团的阳台。以报道新新应用也特征,唯一美中欠缺的凡,关注2.0,但自己之博客网站设计的未那么的2.0。

15、小众软件(www.appinn.com):聚焦让分享免费、小巧、实用、有趣、粉色的软件,很实用的一个略带站点,为大家找找实惠之,不用来创业那么重,也无用立异那么累,就是意识好用的软件,我们以来直接用就吓了。

16、善用佳软(xbeta.info):善用佳软=(善意+善于)应用可以软件。目的是享受“替代盗版,提高效用”的经验,整个博客页面看起不像是博客网站,更像是字典网站,阅读经验不是特别好,不过分类确实怪仔细,能快捷找到好想使的软件。

17、Mobile 2.0(www.mobile20.com.cn):成立于二〇〇八年7月,是境内一样批判最早关注移动互联网的科技博客。从建之初的坐Mobile Web 2.0乎核心逐渐转向更完善的Mobile 2.0世界。手机使用的题材都暴发关系。

18、软件会(www.softjie.cn):软件街-最新最好咸软件资讯共享平台。天天注意发布软件的风行版本更新信息,以及用新出品软件,分享、推荐非凡软件、常用软件等。

19、谷奥(www.guao.hk):谷奥是一个报道谷歌及其有关制品之资讯,提供Google产品技术,以及Google周边消息之专题网站,网站外90%之内容吧谷奥原创编译。

20、黑番茄(www.blacktomato.cn):黑番茄专注于移动互联网创业前沿资讯,是互联网行业前行之风向标,是创业者寻找灵感的港口,是草根创业者显示创业成果的戏台,是投资人寻觅创业项目标阳台。

21、同步控(www.syncoo.com):同步控是一个关心并(Sync)技术之主旨网站,专注范围包含:PC端同步移动设备、本地同网络、多系并、多丁合作、移动办公、社交网络同步等。

22、我爱和煮鱼(fairyfish.net):我爱水煮鱼是一个关怀WordPress开源博客平台以和互联网的IT博客。

23、IT生活笔记网(www.55ln.com):IT生活笔记网紧要从为分享互联网系技术,重要干网站建设、网站推广、网络营销及网络安全相关内容。

国外

 

1、TechCrunch

http://www.techcrunch.com/

由于知名的Michael-阿灵顿(迈克尔(Michael)(Michael)Arrington)主办,紧要关心大科技,尤其是Web2.0领域的创业集团。TechCrunch本质上是相同小也创业集团服务之网站。有评说认为,阿灵顿的同样首稿子会成功同下店,或是毁掉一家庄。另一方面,阿灵顿也直接以朝着老公司兜售TechCrunch,曾发传言称AOL和MySpace希望收购该博客,市场针对该博客的估值为达成上千万加元。从博客价值来拘禁,TechCrunch已变为独立博客的则,其名撰稿人尚连埃里克(Eric)(Eric)kSchonfeld等人。

2、Read Write Web

http://www.readwriteweb.com/

由其他一样名为资深技术博客理查德-迈克(Mike)马努斯(RichardMacManus)主办。该博客通常刊登深度分析类作品,而正如少信息类小说。作品范围包括互联网技术、产品、趋势和特别商厦动态等。绝对于此外美利哥科技博客,该博客如今对中国互联网的眷顾力度有目共睹比充足。例如,该博客当相比较早的时节就是都提议校内、海内和戏谑等中华SNS网站与非死不可之间可能的扑。

3、Silicon Alley Insider

http://www.alleyinsider.com/

对立TechCrunch和Read Write Web,Silicon
AlleyInsider的创导时间比晚,为二零零七年十月上线。不过,既然号称“硅谷内幕者”,该博客必出和好的优点,即内幕和独家消息。该博客网站及之爆料类音信显著多于同类博客,在微软收购雅虎风波等同样多重大型事件受到还已暴发“语不惊人死不休”的变现。该博客的开创者为Kevin赖安、DwightMerriman和Henry Blodget等多少人数。

4、O’Reilly Radar

http://radar.oreilly.com/

出于“Web2.0底大”蒂姆-奥莱利(提姆 O’Reilly)主办。奥莱利本人时凡是O’Reilly
Media集团老董,目前着力推进开源技术的腾飞。该博客小说并无极端关心大型IT公司要制品,而是要关心IT领域的新势头。

5、GigaOm

http://gigaom.com/

博客主为知名名牌科技业记者跟“集团2.0”专家Om
Malik。该博客紧要关心新技巧之提升,公司争以Web2.0,以及技术对经济的影响。该博客时亟待代理才可看。

6、ValleyWag

http://valleywag.com/

否Gawker媒体网络西下博客,关注有关硅谷集团及名牌人物的风言风语和资讯。该博客的章风格吗吃争议,其中一部分不实的传达或过度严峻的评介为集团要硅谷老板带来麻烦。例如,该博客目前接连发布著作,猛烈抨击Facebook首席运营官谢丽尔-桑德(Sander)伯格。

7、VentureBeat

http://venturebeat.com/

开创者为《圣何塞信使报》前记者Matt马尔斯hall。该博客紧要跟世界风险投资,尤其是互联网创业集团拿到风险投资的图景。该博客对华风投市场为大多出涉猎。由于《德班信使报》本身便具有深厚的硅谷气息,因而马尔斯(Mars)hall在创立VentureBeat的进程中占得先机。另外,马尔斯(Mars)hall的信息记者更使该博客的著作大近似音讯。

大网站旗下博客

1、BoomTown

http://kara.allthingsd.com/

《华尔街日报》记者KaraSwisher的博客(也是其个人专辑)。Swisher从1997年起就也《华尔街日报》华盛顿分部工作,并跟WaltMossberg一起主持了在IT业界影响力大的“D:
All
ThingsDigita”大会。Swisher与博硅谷首席营业官关系可以,有人拿该称作非死不可首席运营官Sander伯格的“闺中密友”。Swisher的博客重要关心微软、Google、雅虎、亚马逊、eBay等大店动态,她当微软杀虎并购战中宣布了汪洋内幕信息,不过Swisher本人显明厌恶雅虎首席营业官杨致远。

2、Bits

http://bits.blogs.nytimes.com/

《伦敦时报》旗下博客。较为关注IT公司当数字时代中的腾飞、盈利情状。报道范围包括创业公司、大型公司、政党政策,以及技巧在世上市场的用。

3、The Tech Beat

http://www.businessweek.com/the_thread/techbeat/

《商业周刊》旗下博客,由多名《商业周刊》记者一起撰稿。关注科技音讯事件幕后的本色,以及对情报事件的分析。该博客是主流的媒体技术博客之一,报道范围包括苹果、Google、AMD齐市场领头羊动态,以及非死不可等新兴领袖。

4、Between the Lines 

http://blogs.zdnet.com/BTL/

ZDNet旗下博客,紧要关注大公司的动态,例如微软、Intel、苹果等。三称作撰稿人分别是LarryDignan、山姆Diaz和汤姆Steinert-Threlkeld。其中,Dignan是ZDNet总编辑,Diaz是ZDNet高级编辑,而Steinert-Threlkeld是有20大多年经验的IT行业记者。这也令该博客随笔有一定之权威性。

5、The Social

http://news.cnet.com/the-social/

CNET旗下博客,博客主为伦敦人凯罗尔(Carol)ine
麦卡锡(McCarthy)。麦卡锡认为网络应当可以援助人们的通常生活,因此Twitter、非死不可等社区网站是该博客的关切首要。她一样关注伦敦本土特有之互联网文化。

6、Beyond Binary

http://news.cnet.com/beyond-binary/

无异于也CNET旗下博客,博客主为CNET编辑Ina
Fried。在CNET任职期间,Fried曾召开了变性手术。该博客首要关注技术怎么改生活,并且越来越关心微软的动态。

一半音信网站半博客

1、ArsTechnica

http://arstechnica.com/index.ars

拖欠网站称是一个拉丁文词组,意味“科技之计”。该网站从为原创性的IT音讯及评论,以及针对性科技趋势的吃水分析。ArsTechnica创制被1998年,创办人为Ken
Fisher。该网站受当年一月让传媒公司Condé Nast Publications收购。

2、The Register

http://www.theregister.co.uk/

一样小大不列颠及北爱尔兰联合王国之科技音讯网站,其信息类于博客。该网站被1994年是因为约翰(John) Lettice
和MikeMagee三个人数开创,最初通过电子邮件提供科技音讯通讯。该网站的章充满英帝国式的挖苦色彩,例如通常将Google称为“全球最为可怜的文字广告代理商”。

3、WebProNews

http://www.webpronews.com/

WebProNews是平贱要关注互联网商务及摸索引擎的网站,内容连搜索引擎优化、搜索引擎营销、社会媒体营销、广告与网络品牌等。值得一提的凡,该网站平日会推荐自各类啄磨部门的互联网市场提升报告,并针对晓进展辨析。不过,该网站于无数普普通通消息的简报方面时效性较差。

4、Techdirt

http://www.techdirt.com/ 

欠网站创立为1997年。据Techdirt自己之牵线,该网站雇佣了同样批判来科技、通信与传媒当行业之分析师,提供消息时代一切使得的资讯。作为互联网泡沫之幸存者,Techdirt还保留着Web1.0时日的诸多特征。实际上,该网站又像是一个IT论坛,其达到的作品通常不会合太长,心境色彩彰着。其小说主旨范围大广阔。

5、Search Engine Land

http://searchengineland.com/

业为报道搜索引擎领域前进之博客,博客主为具备11年寻觅引擎报道经验的信息记者Danny
沙利文(Sullivan)(Sullivan)。该博客内容包括搜索引擎营销、搜索相关问题同搜索引擎产业等。

初稿来自:http://www.changeself.com/?p=296

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图