【问题标题】:Is there a point in using Unit Test, Rspec, Cucumber and Capybara?使用单元测试、Rspec、Cucumber 和 Capybara 有什么意义吗?
【发布时间】:2013-02-21 21:20:26
【问题描述】:

我从 Ruby 开始,我阅读了不同的测试方法/框架:单元测试(MiniTest::unit 现在使用最新的 Ruby 版本)、Rspec、Cucumber 和 Capybara。但是我没有完全理解它们每个的主要“价值”是什么,区别于其他的,我是否可以/应该混合使用它们来确保我们的应用程序经过良好测试?

【问题讨论】:

    标签: ruby-on-rails ruby unit-testing testing tdd


    【解决方案1】:

    我个人使用RSpec 进行功能测试,使用capybara/cucumber 进行集成测试。 RSpec 非常适合编写测试以确保我的课程按预期执行。 Cucumber 非常棒(与 Ca​​pybara 或 webrat 一起)可以确保我的视图按照我期望的方式执行。

    测试对于编写 Rails 应用程序来说是一笔巨大的财富。令人惊讶的是,我多久会更改一次,而我的测试发现这种更改会产生意想不到的副作用。它还可以帮助您解决错误,因为它能够在测试中复制它们并使测试通过,从而解决错误。

    所以:rspec(和FactoryGirl)确保我的课程做他们应该做的,cucumber 确保我的用户以我想要的方式与网站交互。

    【讨论】:

    • 感谢您的回答。 Factorygirl真的有用吗?它如何补充 FactoryGirl?
    • 所以你不使用带有 Test::Unit 的单元测试?它可能与 Rspec 重叠?
    • 是的,RSpec 替换了 Test::Unit,我喜欢它的语法并且更喜欢它的灵活性。 Factorygirl 非常适合模拟可以重复运行测试的对象。机械化也可以用来代替Factorygirl。除非每次都返回相同的结果,否则测试是没有用的。 FactoryGirl 确保您的测试每次都针对您控制的已定义对象运行。
    • 我明白了。多谢。机械化是水豚的一部分吗?我不确定我完全明白 Capybara 是什么...:)
    • Capybara(和 webrat)模拟用户与您的网站交互。因此,您可以在测试中单击链接、访问页面并测试这些页面的内容,以确保它们显示您希望它们显示的内容。这是一种测试您的网站如何作为一个整体运作的方式。
    猜你喜欢
    • 2011-11-12
    • 2010-11-09
    • 2018-06-06
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多