unittest应该怎么写

1.如何用googletest写单元测试

Xcode中集成了单元测试框架OCUnit,可以完成不同侧重点的测试。

Xcode下的单元测试分为logicuinttests和applicationunittests,两种类型的单元测试都需要对应一个自己的Target。logicuinttests在编译阶段进行,并且只能在模拟器中进行,并且需要配置一个单独的schemes来运行。

主要是针对数据层的各个模块进行测试,如果数据层的模块划分比较理想解耦相对彻底,则可以通过逻辑单元测试对各模块给出各种输入,然后对各数据模块的输出进行判断,来判断各数据模块是否正常。applicationunittests在程序运行阶段进行,可以在模拟器和真机上进行,可以在应用的schemes或者单独配置的schemes里面运行。

主要是针对应用中的相对比较重要的类以及部分简单的界面操作进行测试,完成逻辑单元测试以外的检测。xcode可以通过2种方式创建UnitTest,一种是创建工程时自带UnitTest,一种时在已有工程添加UnitTest。

三.Xcode创建带UnitTest的工程(Xcode4.6.2)如果在新建工程的时候选中并且新建的工程是一个应用,那么系统会默认生成applicationunittests;新建其它类型的工程选中IncludeUnitTests的话,系统默认生成logicuinttests。系统自动生成的测试单元时会自动生成对应的target,并且一个target只能对应一中类型的单元测试,但可以包含多个测试文件,针对工程中不同的类进行测试。

四.Xcode向已有工程添加UnitTest(Xcode4.6.2)如果在新建工程的时候没有选择IncludeUnitTests的话,则可以手动去添加单元测试。下面首先介绍下向工程添加单元测试的target:1、选则File->New->NewTarget,在左侧栏中选中iOS->other,右边选择,如图Next后位target完成命名这样就完成了向工程中添加单元测试用的target。

效果如下其实按如上步骤添加单元测试target的话,生成的就是一个logicuinttests。一般情况下Xcode在你添加新的target的时候会自动的添加一个schemes,该schemes的命名与你添加的target一样。

如果你不想在新建target的时候新建scheme(因为applicationunittests可以在真机和模拟器上运行,并且时在程序运行时进行测试,所以完全可以和应用本身的target共用一个scheme,这样进行应用单元测试的时候就不用切换scheme。)可以选择上图的ManageSchemes,去掉Autocreateschemes,如下图:为了验证新的scheme已经加入了新建的target,对这个新添加的scheme进行编辑,你可以在选中左侧的Test后看到右边显示出新添加的LogicUnitTestsTarget,说明该scheme已经默认添加了新添加的Target。

新建完target后,可以将新建的target设置成logicunittests或者applicationunittests:设置logicunittests:就像之前所说,如果按上面的步骤添加一个单元测试用的target的话,就已经默认配置成了一个logicunittests。为了确认新建的logicuinttests配置正确,可以进行如下的验证:1、选择新建的scheme:LogicUnitTests和一个运行目标2、选择Product->Test(或者Command+U)3、Xcode会显示BuildSuccessed和Testfailed,选择View->Navigators->Issue(或者Command+4)会有下图中的结果选择View->Navigators->ShowLogNavigator(Command+7)这样就说明添加的逻辑单元测试运行正确,因为没有添加测试语句,只有一个STFail,所以报错。

将LogicUnitTest设置applicationunittests:如果在新建工程的时候选择Includeunittests,则系统会默认生成一个测试target,并配置为applicationunittests。如果新建工程时没有选择包含单元测试,则在新建LogicUnitTest单元测试的Target之后,可以按如下步骤配置applicationunittests:1、选择新建的LogicUnitTest单元测试target,并选择BuildSetting栏和“All”2、在searchbar里面输入BundleLoader,将其值设置为$(BUILT_PRODUCTS_DIR)/.app/效果如下3、搜索TestHost,设置其值为$(BUNDLE_LOADER)效果如图4、使新建的单元测试target依赖与编译应用的target,效果如图5、如果是在新建的时候系统默认新建了scheme,则可以通过新的scheme来进行applicationtests,如果没有默认新建scheme,则可以编辑用来编译工程的scheme,选择左侧的Test如图:点击底部的“+”,将单元测试的target添加进来。

如图这样原来的logicunittests就配置成applicationunittests了。可以按运行logicunittests的方法运行applicationunittests,来验证是否配置正确。

选择Product->Test(或者Command+U)可以对比LogicUnitTest运行完的report和ApplicationUnitTest运行的report有不一样的地方,就是上图方框这一栏ApplicationUnitTest。

2.请问大神,用J

googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。

下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试。本文包括以下几部分:1、获取并编译googletest(以下简称为gtest);2、如何编写单元测试用例;3、如何执行单元测试。

4、google test内部是如何执行我们的单元测试用例的。1. 获取并编译gtestgtest试图跨平台,理论上,它就应该提供多个版本的binary包。

但事实上,gtest只提供源码和相应平台的编译方式,这是为什么呢?google的解释是,我们在编译出gtest时,有些独特的工程很可能希望在编译时加许多flag,把编译的过程下放给用户,可以让用户更灵活的处理。这个仁者见仁吧,反正也是免费的BSD权限。

3.zk代码怎么做unit test

往简单了说,在没有返回值的方法前加上@Test ,然后将junit的jar包引入就好了。

这个ide都会有的,直接引入就行了,简单代码如下:然后run as junit test就可以运行了public class IntegerTest {@Testpublic void test() {Integer i1 = new Integer(2) ;Integer i2 = new Integer(2) ;Integer i3 = 35;Integer i4 = 35;System.out.println(i3==i4);}}。

4.junit怎么写

下面是我做项目时的例子,希望对你有所帮助。

/* *@author ougaoyan ,date:2008-10-19 */ package test; import java.util.Date; import junit.framework.TestCase; import app.DA.BookDA; import app.PD.Book; public class TestBookDA extends TestCase { public TestBookDA(String name){ super(name); } // public Book(int bookID, String cip, String name, String author,String press, String category, int quantity, int reborrowable,int borrowerID,Date startDate) public void testEditBook(){ Book book1 = new Book(1,"123456","信号","张建","某出版社","电信",1,1,1,new Date()); Book book2 = new Book(-1,"123456","信号","张建","某出版社","电信",1,1,1,new Date()); Book book3 = new Book(99,"123456","信号","张建","某出版社","电信",1,1,1,new Date()); Book book4 = new Book(1,"123456","信号","张建","某出版社","电信",1,1,1,new Date()); assertEquals(true,BookDA.editBook(book1)); assertEquals(false,BookDA.editBook(book2)); assertEquals(true,BookDA.editBook(book3)); assertEquals(false,BookDA.editBook(book4)); } ////Book(int borrowerID, Date startDate, int reBorrowable, String cip) public void testAddBook(){ Book book1 = new Book(0,"234567","信发号","张建","某出版社","电信",1,1,1,new Date()); Book book2 = new Book(0,"123456","信的号","张建","某出版社","电信",1,1,1,new Date()); Book book3 = new Book(0,"99999","信i号","张建","某出版社","电信",1,1,1,new Date()); assertEquals(true,BookDA.addBook(book1)); assertEquals(true,BookDA.addBook(book2)); assertEquals(false,BookDA.addBook(book3)); } public static void main(String[] args) { junit.textui.TestRunner.run(TestBookDA.class); System.out.println(new TestBookDA("TestBookDA").countTestCases()); } } /* *@author ougaoyan ,date:2008-10-19 */ package test; import java.util.Date; import java.util.Vector; import junit.framework.TestCase; import app.DA.CipDA; import app.PD.Cip; public class TestCipDA extends TestCase { public TestCipDA (String name){ super(name); } public void testFindBooksByName(){ String name1 = "数据库"; String name2 = "小小"; Vector vector1 = CipDA.findBooksByName(name1); Vector vector2 = CipDA.findBooksByName(name2); assertNotNull(vector1); assertNull(vector2); } public void testFindBooksByAuthor(){ String name1 = "欧阳"; String name2 = "小小"; Vector vector1 = CipDA.findBooksByAuthor(name1); Vector vector2 = CipDA.findBooksByAuthor(name2); assertNotNull(vector1); assertNull(vector2); } public void (){ String name1 = "计算机"; String name2 = "计 算 机"; String name3 = "wucimin"; Vector vector1 = CipDA.findBooksByCategory(name1); Vector vector2 = CipDA.findBooksByCategory(name2); Vector vector3 = CipDA.findBooksByCategory(name3); assertNotNull(vector1); assertNotNull(vector2); assertNull(vector3); } // public void testEditCip(){ // } //public Cip(String cip, String name, String author, String press,String category, int quantity, int reserverID,Date reservedDate) public void testAddCip(){ Cip cip1 = new Cip("2244","新加书","新者","出版社","计算机",3,0,new Date()); //Cip cip2 =new Cip(null,"新加书","新者","出版社","计算机",3,0,new Date()); Cip cip3 =new Cip("","新加书","新者","出版社","计算机",3,0,new Date()); assertEquals(true,CipDA.addCip(cip1)); //assertEquals(false,CipDA.addCip(cip2)); assertEquals(false,CipDA.addCip(cip3)); } public void testEditCip(){ Cip cip1 = new Cip("2244","新加书","新者","出版社","计算机",3,0,new Date()); Cip cip2 =new Cip(null,"新加书","新者","出版社","计算机",3,0,new Date()); Cip cip3 =new Cip("","新加书","新者","出版社","计算机",3,0,new Date()); assertEquals(true,CipDA.editCip(cip1)); assertEquals(false,CipDA.editCip(cip2)); assertEquals(false,CipDA.editCip(cip3)); } public static void main(String[] args) { junit.textui.TestRunner.run(TestCipDA.class); System.out.println(new TestCipDA("TestCipDA").countTestCases()); } } /* *@author ougaoyan ,date:2008-10-19 */ package test; import java.util.Date; import java.util.Vector; import junit.framework.TestCase; import app.DA.LibManagerDA; import app.PD.LibManager; import app.PD.Student; public class TestLibManagerDA extends TestCase { public TestLibManagerDA(String name){ super(name); } public void testCheck()。

unittest应该怎么写

转载请注明出处育才学习网 » unittest应该怎么写

知识

Q上的说说是怎么写的

阅读(202)

本文主要为您介绍Q上的说说是怎么写的,内容包括QQ空间心情说说怎么才能写很多字,为什么我在Q上写说说有人看不到,我为她写了很多Q上的说说,都是伤感的。1.你抱着别人笑,我抱着自己哭;2.深蓝的不是天空不是海洋不是氧气,是我的强词夺理不愿放弃

知识

mvmt官网地址怎么写

阅读(254)

本文主要为您介绍mvmt官网地址怎么写,内容包括email地址怎么写,苹果ipad电子邮件地址怎么写,lookfantastic地址怎么填。需要验证邮件地址,会在设置上出现一个红色的提示,点击进入设zhidao置。

知识

mvc文件的href怎么写

阅读(228)

本文主要为您介绍mvc文件的href怎么写,内容包括asp.netMVC中文件下载的代码怎么写,不要求上传,asp.netmvc框架的网站上:怎样在网站上放个文件让人下载,ASP.NET中下载代码怎么写。控制器中写一个Action,有直接返回File()类型的,该方法其实就是下

知识

一个山加一个介怎么写

阅读(238)

本文主要为您介绍一个山加一个介怎么写,内容包括上面一个“山”,下面一个“介”,怎么读,上面一个“山”,下面一个“介”,怎么读,上面一个“山”,下面一个“介”,怎么读。上面一个“山”,下面一个“介”是岕,拼音:jiè。二、释义:山间谷地(多用于

知识

mvc文件地址怎么写

阅读(207)

本文主要为您介绍mvc文件地址怎么写,内容包括asp.netMVC中文件下载的代码怎么写,不要求上传,如图,在MVC中如何把显示文件路径改为显示可下载的文件求,MVC3中如何实现文件下载。控制器中写一个Action,有直接返回File()类型的,该方法其实就是下

知识

matlab书籍封面的图怎么写

阅读(228)

本文主要为您介绍matlab书籍封面的图怎么写,内容包括书的封面设计怎么做,书的封面是怎么做的,书的封面是怎么做的。Photoshop是adobe公司推出的图形图像设计与处理软件,通过PS我们可以进行美术设计与制作。大家会否对书籍、报刊等封面的设计

知识

施工事故处理报告怎么写

阅读(205)

本文主要为您介绍施工事故处理报告怎么写,内容包括事故处理报告怎么写,建筑工程质量事故处理报告怎么写,工程事故分析与处理怎么写。根据《生产安全事故报告和调查处理条例》第十二条 报告事故应当包括下列内容:(一)事故发生单位概况;(二)事故发

知识

离职申请书格式怎么写

阅读(224)

本文主要为您介绍离职申请书格式怎么写,内容包括离职申请书怎么写,辞职报告的具体格式和范文,离职申请书怎么写。离职申请书的写法2113(一)辞职申5261请书标题辞职信在申请书第一行4102正中写上申请书的名称。一般辞职申1653请书由事由和文种

知识

商务结项报告怎么写

阅读(203)

本文主要为您介绍商务结项报告怎么写,内容包括商务的工作总结怎么写,电子商务实践报告怎么写,电子商务实训报告怎么写。1)商务总结的概念 所谓商务总结,是人们对一个时期或一个方而的实践活动所完成的情况,取得的经验及存在的问题,作系统的检

知识

饮料投资计划书怎么写

阅读(227)

本文主要为您介绍饮料投资计划书怎么写,内容包括如何写广东饮料市场计划书,求一饮料行业创业计划书,求一饮料行业创业计划书。营销战略 (一)市场战略 目标市场:廊坊师范学院是本次策划的主要目标市场,其地处爱民西道100号。另外附近有管道技校

知识

ou的拼读怎么写

阅读(245)

本文主要为您介绍ou的拼读怎么写,内容包括汉语拼音ou是怎么发出ou的音的如何拼读出来,ou的音标怎么读,怎么写,汉语拼音ou怎么读。这是两个不同的复元音韵母,发音肯定不同。单元音韵母[o]与[u]的区别1. o [o] 舌面、后、半高圆唇元音。发音时

知识

qq邮箱怎么写签名

阅读(203)

本文主要为您介绍qq邮箱怎么写签名,内容包括qq邮箱怎么设置签名,QQ邮箱怎么设置添加签名,qq邮箱怎么设置签名档。qq邮箱设置签名操作步骤如下:打开qq客户端,登录qq,点击邮箱标志,如下图:

知识

referenceletter怎么写

阅读(243)

本文主要为您介绍referenceletter怎么写,内容包括如何写ReferenceLetter才能完美,REFERENCELETTER怎么写,怎么写letterofreference。How to Write a Perfect Reference Letter?An effective reference lette

知识

英文取消怎么写

阅读(196)

本文主要为您介绍英文取消怎么写,内容包括"取消"英文怎么写,取消单词怎么写,取消的英文怎么说。取消: [ qǔ xiāo ] 1. cancel其它相关解释: <call off> <countermand> <withdrawa

知识

unittest怎么写

阅读(172)

本文主要为您介绍unittest怎么写,内容包括冒泡排序的javascriptunittest程序怎么写,eclipseunittest是什么东西,如何正确进行UnitTests。往简单了说,在没有返回值的方法前加上@Test ,然后将junit的jar包引入就好了。。这个ide都会有的,直接引

[/e:loop]