Iro*_*fin 4 javascript c# wcf frameworks
我团队的一个持续关键点是我们的"共同"图书馆.(在这里查看相关问题,说"框架"可能更为正确).
目前包含v1,v2和v3.其中v3用于所有新应用程序.它包含多个WCF服务,一个包含业务对象的类库,以及一个用于js/css/images的公共Web目录.
我们希望在我们前进的过程中做正确的事情,特别是因为我们都积极开始为共同图书馆做出贡献.它变成了一个巨大的泥球,并且部署它对每个人来说都是可怕的.
我们首先想到的是设置一个测试服务器,在所有代码中运行单元测试,以确保没有任何中断.问题是为所有内容编写测试非常繁琐,坦率地说,没有人有这样的时间.我们对编写适当的单元测试也缺乏经验.话虽如此,如果这是最好的路线,我们会完成它.
在那之后,我们不太确定.我们将公共代码视为应用持续集成实践的地方,因为我们编写了许多使用它的不同应用程序.
这也引入了一些问题,例如将DLL复制到本地,或者将某些内容放在某个服务器上.我们已经感觉我们在DLL地狱,想要离开.
(好)软件商店用来管理这种情况的策略是什么?
任何和所有的建议表示赞赏.如果需要更多信息,请询问.我很乐意提供它.
谢谢!
问题是为所有内容编写测试非常繁琐,坦率地说,没有人有这样的时间
真正的问题是你在没有TDD方法的情况下编写代码(测试应该首先编写),现在在一个项目中,测试是重点(它应该在每个项目中发生),测试通常需要更多时间或相同的时间来编写编写真实代码.为什么?因为当您编写测试时遵循TDD时,您实际上是在设计代码,并且您遵循此模式红绿色重构
你应该开始为你的代码编写测试,现在的问题(我敢于采取这种假设)是你和你的团队没有编写可测试代码.
假设并非所有代码都是可测试的,那么创建单元测试将是一个真正的痛苦,你可以编写某种集成测试.
关于CI服务器,您应该去实现它,实际上CI不应该是每个严肃项目的可选项
我实际上正在创建一个工具来简化与CI服务器的集成,它包含一组MSBuild脚本,包含第三方工具来执行每个项目应该遵循的常见任务,我还没有发布但是我没有写完文档但是它功能现在你可以看看:
https://github.com/jupaol/NCastor/tree/develop
检查开发分支,因为在我发布新版本之前我不会合并为master
关于版本控制,如你所说,留下"dll hell",这让我觉得你没有版本控制标准,我建议你检查语义版本控制模型:
BTW我发现在组织内部分发新组件版本的一个好策略是设置一个私有Nuget服务器,并发布到该组件的Nuget软件包.当然要实现这一点,您需要将组件打包为Nugets,但这很容易实现.
以本文为参考,全力以赴:
使用TDD方法编写单元测试
编写干净的可测试代码
实现CI服务器
http://misko.hevery.com/2008/07/16/top-10-things-i-do-on-every-project/
我建议你在编写测试时使用的工具:
归档时间: |
|
查看次数: |
884 次 |
最近记录: |