JUnit4,SVN版本控制工具--24

JUnit4,SVN版本控制工具--24

Junit是XUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同,XUnit 是基于测试驱动的框架,
衍生的产品有jUnit、pythonUnit、cppUnit 等
断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性。
hamcrest-core设置匹配集规则的框架,可用来增强junit的功能。
JUnit3:必须继承junit.framework.TestCase这个类,在方法前面必须加上test最为前缀。
JUnit4:只要加上@Test注解即可,不需要继承任何类,命名没有限制。

JUnit 最佳实践小结
1 测试方法上必须使用@test进行修饰
2 测试方法必须使用public void 进行修饰,不能带任何的参数
3 新建一个源代码目录来存放我们的测试代码
4 测试类的应该和被测试类保持一致
5 测试单元中的每个方法必须可以单独测试,测试方法之间不能有任何的依赖
6 测试类使用Test作为类名的后缀
7 测试方法使用Test作为方法名的前缀

PS:根据原类创建测试类(JUnit Test Case),next后可以选择原类的所有方法给创建测试方法,就不用一个一个的编写了

JUnit002 测试失败的两种情况

1、Failuer一般由单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题,就是说程序输出的结果和我们预期的不一致 2、error是有代码异常引起的,它可以产生于测试代码本身的错误,也就是被测试代码中的一个隐藏的bhg PS:测试用例不是来证明你是对的,而是用来证明你没有错
 
=========================================================================================================

JUnit运行流程

1. @BeforeClass修饰的方法会在所有方法被调用前执行,而且该方法是静态的,所以当测试类被加载后接着就会运行它,而且在内存中它只会存在一份实例,它比较适合加载配置文件 2. @AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接 3. @Before和@After会在每个测试方法的前后各执行一次


常用注解:

@Test: 将一个 普通的方法修饰成为一个测试方法

1)@Test(expected=XXX(异常类).class):异常会被捕获,使测试通过。
2)@Test(timeout=毫秒):设置执行的时间,用于结束死循环或是性能测试。
* @BeforeClass: 他会在所有的方法运行前被执行,static修饰
* @AfterClass 他会在所有方法运行结束后被执行,static修饰
* @Before:会在每一个测试方法被运行前执行一次
* @After 会在每个测试方法被运行后执行一次
* @Ignore 所修饰的测试方法会被测试运行器忽略,(@Ignore(可选,填写注释的原因文字说明))
* @RunWith: 可以修改测试运行器 org.junit.runner.Runner

断言方法有很多,不止assertEquals()方法

============================================================================================================

测试套件:测试套件就是组织测试类一起运行的

1.测试套件就是组织测试类一起运行的
2.写一个作为测试套件的入口类,这个类里不包含其他的方法!!!
3.更改测试运行器Suite.class.
4.将要测试的类作为数组传入到Suite.SuiteClasses({})
SuiteTest
@RunWith(Suite.class)
@Suite.SuiteClasses({这是一个数组,用逗号分隔。A.class,B.class,C.class})
===============================================================================================================

参数化设置<br>

1. 更改默认的测试运行器为RunWith(Parameterized.class)<br> 2. 声明变来那个来存放预期值 和 结果值<br> 3. 声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰<br> 4. 为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值 测试方法: @Test public void testAdd(){ assertEquals(expected,new Calculate().add(input1,input2)); }

JUnit—Java单元测试必备工具——Spring与Hibernate的整合测试

1、添加 Spring,Hibernate,MySQL 等jar包。 2、添加 Spring 配置文件,Hhibernate 配置文件。 3、@BeforeClass 获得 Spring 的配置文件 ClassPathXmlApplicationContext("配置文件")。 4、测试通过 getBean 获得 Spring 管理的 bean 是否成功。(Hibernate、Spring+Hibernate同理测试可得)

========================================================================================================

SVN版本控制工具

svn工具作用:能让团队里的小伙伴都能调用其他人的代码,同时每个人的代码之间又不会产生冲突
放在版本控制工具中的代码是受保护的,其行为是受约束的.版本控制工具最重要的作用是让团队更好的去协作开发项目.
版本控制工具有很多种.
SVN是Subversion的简称,是一个开放源代码的版本控制系统.相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion.
SVN就是用于多个人共同开发同一个项目,每个人的代码都可以互相的调用,共用资源的目的.

TortoiseSVN 客户端:TortoiseSVN: http://tortoisesvn.net/downloads.html
VisualSVN 服务器端:VisualSVN:http://www.visualsvn.com/server/download

@版本管理工具介绍---SVN篇——SVN客户端的安装与配置

1、在服务器端选择对应的某个仓库,上边便会显示一个路径。在客户端任何一个文件空白处右击,CheckOut—URL of Repository中填写刚才那个仓库的上边显示的url路径地址。在一个局域网或一台电脑上,IP 地址处可以填写电脑名;想通过公网连接,则必须为 IP 地址。 2、Check Out:把下载下来的仓库存放位置。 3、文件夹中的SVN隐藏文件夹不能删除,删除了改文件夹就跟普通文件夹一样了。(根据svn的版本不同,有的只有在最外层有此文件夹,有的是每个文件夹下面都有此文件夹)
每次更新。删除。增加后都要重新提交一次
svn版本控制工具,多人协作,需要安装服务端和客户端,服务端要建仓库和用户,客户端checkout输入用户名和密码,和保存路径;commit提交本地磁盘增删改文件,可以留意蓝问号(新增),红感叹号(修改),绿钩(已提交),还有提交时文件的status状态是missing,modify等等
====================================================================================
1.每次更新前和资源库同步一下,防止自己的代码被覆盖。
2.查看历史记录 右键文件用TortoiseSVN中的Show log,用过自己账号查看;Revert to this revision 回到历史版本;文件被别人删除,在空白处右击,show log,可以查看整个库的所有增删改查操作记录
3.Commit...中的上方空白用于解释说明
4.注销登录,清空用户信息:在空白处右键,选择setting--save data-clearAll
=========================================================================================================================

1.分支不同 ==> update merge(svn自动合并)
2.分支冲突 ==> 协商解决冲突,选择一个正确的版本覆盖(最新的正确直接Revert最新):
出现四个文件。黄色感叹号代表SVN没办法自动合并,因为A B修改的内容一致。
第一个文件:共同修改内容对比显示。第二个文件:A你的代码 第三个文件:A B修改之前的版本代码 第四个文件:B的代码
解决办法:1.A和B讨论,选择哪个版本。就把那个版本恢复。
恢复方法:比如A的正确,就把第二个文件重命名为A的那个文件名,覆盖。
若想恢复成A B之前的版本,用第三个文件覆盖 
若想恢复成B的,也是用第四个文件覆盖,或者在第一个文件右击,revert到现在服务器上的B的版本
************************************************************************************************************************************************************************
1、每天早上上班要update SVN,每天下班要commit SVN。
2、查看是谁动了我的代码,右键 tortoise 后查看 log 日志。
3、文件被别人删除,在空白处右击,show log,可以查看整个库的所有增删改查操作记录,如果单个文件还在,只想查看该文件记录,那就在该文件上查看 log(自从新建一个文件后,对该文件的所有操作都会被服务器仓库记录下来,随时可以可别人商量恢复)。
4、权限清空:TortoiseSVN——Settings——Seved Date——Clear clear all。
5、commit 上面有一块区域是做注释的(推荐常用)。
6、良好冲突:
如果A和B都在修改了代码,B先于A上交,当A去commit的时候,就会提交失败,必须先更新你的本地文件,那么B的代码会和A的代码同时存在(两个人修改的不是一个地方算好的情况了)。
7、较差冲突:
有冲突时提交会产生三个文件,.mine是自己改好之后的代码,rx,ry,x,y两个数字较小者是我改之前的代码,数字较大者,是服务端的代码
1)如果要保留自己的版本,就用mine覆盖原来的代码,再次提交
2)如果认为对方是正确的,就revert一下,这个时候已经拿到了最新的代码(不一定非要这样操作,但是这样方便)
3)如果认为上一个版本是正确的,用版本较小的覆盖(直接删除改后缀名)
经验1:如果Commit Failed!就不要点了ok继续按update了,先把自己的代码复制到一边,再把那个文件revert,再update,再把放在一边的文件重命名复制到相同文件夹下,选中两个冲突的文件,TortoiesSVN->diff,左边是最新的代码,右边的是我的,解决冲突之后两个人最好都update一下。
经验2:与历史记录比对:show log之后,同时选中两个版本(比如现在到了第10版,那么要10/9先比较,看看有没有差异,没有差异,则比较9/8版,如果仍没有差异,以此类推继续比较),Compare revisions。







































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值