unittest怎么写

1.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);}} 。
2.如何用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,右边选择CocoaTouchUnitTestsBundle,如图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 。
【unittest怎么写】新建完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,所以报错 。