Rails 3,测试方法太多?

2023-12-24

如果您刚刚开始使用 Rails,您会鼓励新用户走哪条路Testing.

我读到的有关 Rails 3 的任何内容都告诉我我应该使用Rspec 2。但是 Rspec 附带了我需要学习的其他一些东西,比如

gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'spork'
gem 'launchy'

然后我的一位朋友告诉我,我应该坚持使用 Rails 附带的测试框架,也许只是将“shoulda”集成到测试过程中,因为它有一个很好的语法。

到那个时刻testing似乎我们有太多的选择和太多的做事方式。也许这是一件好事,但我一直认为 Rails 是关于创建通用约定并避免以不同的方式做同样的事情。

我对 Rails 还很陌生。
我不知道从哪里开始。
我感到不知所措。
这是正常的吗?


由于您是从 Rails 开始的,所以我建议您使用“正常工作”的东西来养成测试代码并了解如何使用框架的习惯。不要浪费时间比较解决方案,选择一个并坚持用于该项目。

话虽这么说,我真的认为这取决于您开发软件的经验:

  • 如果您从未在代码中使用过单元测试,请学习 Test::Unit 并考虑采用 TDD。请注意,TDD 一开始需要您投入大量时间,但当您习惯它时,就会得到回报。
  • 如果您在代码测试方面拥有丰富的经验,并且只是对如何开始使用 Rails 感到困惑,我建议您遵循以下步骤http://railstutorial.org/book http://railstutorial.org/book。这是一本(免费)Ruby on Rails 书籍,它使用 RSpec、Spork 并作为很好的介绍

使用您现在选择的测试平台从头到尾开发一个项目后,您将拥有一个much更好的任务是选择您想要使用的测试框架。

我还建议您在深入研究 Cucumber 之前先学好 RSpec。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3,测试方法太多? 的相关文章

  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 子域中的 Rails url 助手 - 删除子域

    我网站上的用户可以拥有子域 例如 他们的页面网址是 name example com 登录的用户可以查看更多用户信息 因此在用户的显示页面上 我有一个使用以下代码生成的链接 user url user subdomain gt false
  • 命令行工具中的框架问题

    在每个人开始向我扔其他堆栈溢出和论坛帖子之前 我把它们都看了 他们都没有帮忙 我有一个简单的 cmd 工具 名为swizzler并想要嵌入SwizzleSrc其中的框架 我已经遵循了所有教程并且堆栈溢出但没有运气 这就是我得到的 Build
  • 如何在nodejs中模拟请求和响应来测试中间件/控制器?

    我的应用程序有几个层 中间件 控制器 管理器 控制器接口与中间件一相同 req res next 所以我的问题是 如何在不启动服务器并向本地主机发送 真实 请求的情况下测试我的控制器 我想要做的是像nodejs那样创建请求 响应实例 然后调
  • AST 文件格式错误或损坏

    我有一个问题 我不知道为什么会发生这种情况 但很可能是因为我错误地按了 移动到垃圾箱 到某些系统框架 我收到一条错误消息 AST 文件格式错误或损坏 找不到 AST 文件引用的文件 Users username myProject Quar
  • 在 Symfony2 中测试 AJAX/XMLHttpRequest 页面功能

    是否可以在 symfony2 测试中模拟 发出 XMLHttpRequest 请求 ajax 使用 Problematic 答案搜索后 正确的语法是 crawler client gt request GET foo array array
  • 如果为 TestFixture 级别设置“Property”属性,是否有可能获取 Nunit“Property”属性值

    这是我的 TestFixture 类 namespace TestApplication Tests TestFixture Property type smoke public class LoginFixture Test Proper
  • Golang 有 libfaketime 替代品吗?

    我想自动化一些测试 我必须操纵系统时间来检查用 golang 编写的程序的身份验证行为 根据这个帖子 https stackoverflow com questions 36024872 libfaketime doesnt work wi
  • Cherrypy 和 Jinja2 入门

    这是我第一次深入研究Python的Web开发 我唯一的其他经验是 PHP 而且我以前从未使用过框架 所以我发现这非常令人生畏和困惑 我有兴趣学习 CherryPy Jinja2 为我的 NAS 制作 ZFS 监视器 我已经阅读了 Cherr
  • 如何绕过default_url_options?

    在我的上一个 Rails 项目中 我不得不覆盖default url options in application controller rb始终在每个请求中传递参数 如下所示 def default url options my defa
  • 删除并重新创建单个表(在 Heroku 上)

    我的应用程序处于测试阶段 我一直在对涉及新模型的功能进行有限的测试 经过大量测试后 我必须进行结构更改 使旧数据不起作用 我需要做的只是删除并重新创建一张表 我知道我可以在迁移中做到这一点 但这看起来像是一个黑客 在本地开发副本中我只会使用
  • 超时 - 在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调

    我在使用 jest 进行 api 测试时遇到问题 目前的行为是什么 Timeout Async callback was not invoked within the 5000ms timeout specified by jest set
  • Sidekiq 不处理队列

    有哪些可能的原因可以Sidekiq https github com mperham sidekiq阻止处理队列中的作业 队列已满 日志文件sidekiq log表示根本没有活动 因此队列已满但日志为空 并且 Sidekiq 似乎没有处理项
  • 如何衡量 PHP 中不同哈希方法的相对性能成本?

    我想知道在给定不同数据集长度的情况下 每种哈希算法在特定系统上需要多长时间 PHP net 页面hash http php net manual en function hash php注释中有一些示例代码 演示如何分析各种 PHP 哈希函
  • 在 IntelliJ 中运行单元和集成测试

    目前 我的 Java 项目中有两组不同的测试 单元测试 集成测试 这些测试使用 Arquillian 在容器中运行 我目前使用 Gradle 作为我的构建脚本 并使用 JetGradle 与 IntelliJ 12 集成 在我的 Gradl
  • 使用 mocha 和 chai 测试 fetch

    我有以下示例测试 import assert from chai function starWarsMovies fetch http swapi co api films then res gt return res json then
  • 在 Windows powershell 中选择下拉列表中的 Web ui 测试自动化选项

    抱歉 如果这个问题太简单了 但我对 Windows Powershell 相当陌生 我看过的所有下拉列表教程都向您展示了如何向用户显示下拉列表 无论如何 我想做的是使用 Powershell 测试我的 Web 应用程序 我需要将下拉列表更改
  • before_filter set_locale 除了控制器

    My routes rb MyApp Application routes draw do scope locale do all resources here end namespace blog do resources posts o
  • 在 Rails 模型中手动设置列名称

    我正在围绕几个现有数据库构建一个 Rails 应用程序 现有数据库中使用的列名称根本不符合 Rails 关联约定 有没有一种方法可以在模型中设置列名别名 类似于您可以的方式 class User lt Activerecord Base s
  • 从 ElementFinder 数组创建 ElementArrayFinder

    这是一个后续问题当条件评估为 true 时获取元素 扩展 ElementArrayFinder https stackoverflow com questions 32572299 take elements while a conditi

随机推荐