是否有人在Drupal开发中应用了XP原则?
例如,我想知道诸如单元测试之类的事情,以及它是否可以用于Drupal开发,或者关于连续集成。我不确定单元测试,因为Drupal环境是一个非常特定的东西,并且没有足够的面向对象来拥有模拟对象。在我看来,同行评审可以在Drupal开发中实现,但更多的是在您与另一个人讨论哪些代码和模块的组合可以用于解决某些任务的级别上--这是您通常在Drupal中做出决策的地方。
此外,可能有一些开发实践可以帮助团队以更好的效率协作构建Drupal站点,我想知道是否有。
如果有人在团队中开发了大型Drupal站点,我很感谢您对这一进展的反馈,例如您为使开发和管理更好所做的工作。
发布于 2009-11-12 22:40:20
你看过最简单模块了吗?它在D5和D6中是分开的,但在D7中则是独立的。这就是我通常做单元测试的方式。
的确,您不能做模拟对象。相反,每个测试实际上在一个新的数据库中创建了一个全新的drupal安装,运行您指定的任何测试,然后清理它自己。因此,模拟数据库并不是什么问题。
也就是说,在Drupal 7中,我们还得到了DBTNG,它是面向对象的。
发布于 2009-11-13 06:33:52
它没有任何障碍,只有几个陷阱。
我们与大约20名Drupal开发人员一起使用CI、单元测试和同行评审。在开发人员提交作业时使用subversion来使用Hudson进行构建和测试。如果您愿意,可以使用一个目标。
陷阱。一个是配置,我们通过在一个专门为此创建的模块中的update语句来改变这一点。然而,这并不像我们所希望的那样可靠,而且一些配置更改很难用代码来表示。
另一个原因是,Simpletest的设置有点奇怪,所以您必须从头开始创建数据。虽然从一个单元测试的角度来看,这是很好的。这使得你的最终设置的自动化测试变得困难。
然而,它对我们很有效,我们正在考虑在整个现场测试中使用类似selenium之类的东西。
我们使用scrum作为管理框架,它似乎运行得很好。对于一个更大的项目来说,拥有不同功能领域的模块也很重要。尽可能多地使用控制模块。
发布于 2009-11-13 04:24:26
对编程当然是可能的。持续整合?如果您设置了一些将在每次签入上运行的自动化构建/测试,那么您可以在这方面走很长的路。迭代、规划游戏和自然的事物可以很容易地结合在一起。测试驱动的开发,即使不是从单元测试的角度-编写一个快速的UI测试(例如使用Selenium ),您可以进行红绿重构。
我想知道的是,Drupal会让你觉得它在任何方面都是独一无二的吗?
https://stackoverflow.com/questions/1725883
复制相似问题