加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我的TDD实践

发布时间:2020-12-14 05:28:30 所属栏目:百科 来源:网络整理
导读:“我的TDD实践”系列之SVN架设 ? 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精的目的。 ? ?TDD实践系列文章: 1.TDD概念篇 2.CI持续
“我的TDD实践”系列之SVN架设

?

写在前面:

我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精的目的。

?

?TDD实践系列文章:

1.TDD概念篇

2.CI持续集成

3.SVN架设篇

4.NUint测试框架

5.Mock模拟框架

6.Inject注入框架

7.TestCoverage代码覆盖率工具

8.UMLTool建模工具

9.SandCastle构建文档

?

1. 介绍:

本文主要是介绍Source control system(源文件管理系统),这是CI的基础,当然你也完全可以用它只做数据存储,并行开发,源代码控制等等,这里就不详细介绍了,网上有很多资料描述SVN以及源代码管理,TFS也是一个不错的选择。

这里我选择了Subversion+TortoiseSVN的选择,因为开源以及应用广泛,免费。

通常所说的SVN其实是分为2个部分的:

服务端Server:Subversion

客户端Client:TortoiseSVN (广泛引用,功能强大,操作简单)

?

a)?意义:

? i.????????????? 提供获取历史版本功能,恢复错误版本之前的状态。或比较版本之间的不同。

? ii.????????????? 锁定正在编辑的文件,访问控制锁定,防止提交冲突。(不同产品,实现功能略有不同。)

?iii.????????????? 良好的版本管理、版本分发。

?iv.????????????? 提供文档,工具,测试,源代码的一体化管理。

b)?权衡

说明:Centralized集中式管理 与 Distributed分布式管理(要是开源的建议可以分布式管理,反之集中式管理)

Transactional支持事务性与nontransaction不支持事务性(是否支持还原代码版本,很重要。曾经的惨痛教训告诉我,即使能回滚的情况下已经很闹心何况不能还原数据。)

File blocking文件锁or non-file blocking非文件锁定方式。(文件锁定方式属于乐观锁,即检出时(checkout)有权限的人都可以获取,但是提交时(checkin)会进行版本控制,简而言之,如果你和某人同时改写了同一个文件,一般情况下谁先提交到服务器上,第二个人就无法提交并报告文件冲突。)

?

2. 环境搭建

Server :Subversion

Subversion官网 (建议下载1.6.x)

Client:TortiseSVN

目前,官网只有1.8.x 64位版本,请找到适合您的客户端。

本文中建议配合Subversion请使用TortoiseSVN-1.6.8.19260-win32-svn-1.6.11版本

?

步骤Steps:

  1. 点击Subversion安装包,并将程序安装到“指定目录”(默认是C盘下),默认安装后重启。
  2. 安装完成,测试是否安装成功。

打开CMD程序,输入 svnserve --help。没有提示错误就是安装成功。

3.SVN服务端配置:

a)?在CMD中输入:sc create SVNService binpath= "C:Program FilesSubversionbinsvnserve.exe --listen-port 3691 --service -r D:SVNServerRepositoryRoot" displayname= "SVNService" start= auto depend= Tcpip

其中C:Program FilesSubversionbinsvnserve.exe是安装程序的路径;D:SVNServerRepositoryRoot是目标路径,在此之前要提前创建好该目录下的RepositoryRoot文件夹。

啰嗦一句,win7下要管理员权限,没有权限会返回“失败5:拒绝访问”。

也可以用批处理的方式注入cmd命令。

? ? ? ? ? ? ? ? ? ? ? ?

成功后会返回: CreatServer 成功。

b) 启动SVNService服务:(管理员权限)cmd 执行 net start SVNService (SVNService是上面定义的服务名称)

c) 使用SVN集成命令(或TSVN创建),cmd-> input:svnadmin create D:SVNServerRepositoryRoot(此路径必须是服务开启的路径)。然后你会在此目录下看到生成了很多文件,具体不一一介绍了,在这个文件夹中创建tags,trunk,branches文件夹。

?

d) 配置Svn服务端:

在conf文件夹下,

Svnserve文件修改如下:

anon-access = none

auth-access = write

password-db = passwd

realm = My First Repository

passwd文件修改如下:

[users] ?

qq=229063661

???????? 至此,服务端配置基本完成,更多的设置文件中有说明,或者去访问SVN中文站,这里笔者要强调一下的是:SVN服务端和客户端的版本要一致,不然可能会出现莫名其妙的错误。更有意思的是,您可以不建立SVN服务端而直接联接Git的开源程序,但目前只支持只读。

4.SVN客户端配置:

a)?安装TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.exe。基本都是默认设置,安装完之后可以更改语言。

b) 完成本地磁盘和Svn服务端磁盘的映射。

???????????????????????? i.? 在本地文件夹下右键---checkout---按照图片上的设置(注意我是本地所以用localhost,IP可以跨机器访问;我更改了端口3691,所以要显示指明一下,要不然会出错。),最后输入passwd中的用户名和密码即可。(qq:229063661)

?

至此,SVN客户端也配置完毕了,SVN的使用方法这里就不举例了,网上资料非常丰富,而且大家也可以查看T-SVN的操作手册,或者访问SVN中文站获得更多信息。

?

?

?

?

这里罗列一下相关资源:

T-SVN手册:http://www.subversion.org.cn/tsvndoc/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读