Ruby on rails 使用Rails脚手架的测试驱动开发(TDD)
我希望能够更好地理解在Rails 4应用程序中使用TDD的过程 到目前为止,我在这个主题上找到的最好的帖子是。它建议采取以下步骤:Ruby on rails 使用Rails脚手架的测试驱动开发(TDD),ruby-on-rails,ruby-on-rails-4,tdd,Ruby On Rails,Ruby On Rails 4,Tdd,我希望能够更好地理解在Rails 4应用程序中使用TDD的过程 到目前为止,我在这个主题上找到的最好的帖子是。它建议采取以下步骤: 搭建模型 为模型-->测试创建单元测试失败 为模型-->测试通过创建迁移 用期望的动作构建控制器 为控制器创建功能测试-->测试失败 将代码添加到控制器操作-->测试通过 为视图创建功能测试-->测试失败 创建视图-->测试过程 这种方法只需railsgscaffoldfoo就可以完成更多的工作。但是使用架子工会导致测试(如果构建的话)通过,这违反了核心TDD原
- 搭建模型
- 为模型-->测试创建单元测试失败
- 为模型-->测试通过创建迁移
- 用期望的动作构建控制器
- 为控制器创建功能测试-->测试失败
- 将代码添加到控制器操作-->测试通过
- 为视图创建功能测试-->测试失败
- 创建视图-->测试过程
railsgscaffoldfoo
就可以完成更多的工作。但是使用架子工会导致测试(如果构建的话)通过,这违反了核心TDD原则
我还读到,不应该测试框架提供的功能(例如,的单元测试验证
的存在)
这让我不禁要问:我应该跳过架子工生成的代码的单元测试和功能测试,只测试我的自定义设置,还是应该遵循博客作者使用的逐层模式?如果我正确理解了你的问题,这篇文章提供了一个非常简洁的答案:
本质上,它的信息是,您应该只测试与脚手架生成的行为不同的内容,因为脚手架生成的测试太简单,没有用处。您想使用脚手架做什么?它们只生成执行CRUD操作的最基本代码,生成的测试远远不值得使用。(阅读您提供的链接:它是从2007年开始的,使用的Rails版本甚至比Rails 2更旧,并且没有提到使用脚手架?@yerforkferchips:是的,我意识到脚手架是相当基本的,它的测试没有用处。但对于Rails 4,这是一个不错的起点,可以节省时间并消除遗漏。是的,这篇文章很古老,但仍然描述了一个过程。我引用这篇文章是为了对比脚手架和可能的工作流程。