代码之家  ›  专栏  ›  技术社区  ›  Yuval Karmi

采用哪种测试方法?[栏杆]

  •  5
  • Yuval Karmi  · 技术社区  · 15 年前

    我今天要为一个客户启动一个新项目。

    我以前做过一些Rails项目,但从未为它们编写测试。 我想从这个新项目开始改变这一点。 我知道有几种测试工具,但是对于应该使用哪种工具有点困惑。

    我听说过rspec,mocha,webrat和cumber。 请记住,我从来没有真正写过任何常规测试,所以我的测试知识一般是相当有限的。

    你建议我怎么开始?

    谢谢!


    感谢您的所有回复!我发表了一个相关的问题,可能会引起那些在未来看到这个问题的人的兴趣。 You can find it here .

    3 回复  |  直到 15 年前
        1
  •  4
  •   Josiah Kiehl    15 年前

    我更喜欢将RSPEC和黄瓜一起使用。我也喜欢水豚而不是网鼠。

    RSPEC非常适合它的Rails集成和结构。这是技术上的行为测试,但实际上它就像单元测试。它还允许您在任何您喜欢的结构中使用'describe'块对“specs”或rspec测试进行分组和定义。

    黄瓜是高级的。这就是你将要把你的用户故事翻译成的内容。例如,您可能会决定您的用户应该能够更改其密码,因此您将编写如下内容:

     Scenario: Change password
        Given I am logged in
        And I am on the change password page
        When I fill in "p4ssw0rd" for "old_password"
        And I fill in "newp4ssw0rd$$" for "new_password"
        Then my password should be "newp4ssw0rd$$"
    

    如果您与一个质量保证部门合作,您可以向他们展示您的测试,他们会立即知道任何给定特性的状态,以及该特性应该如何工作。此外,如果您有进取心强的测试人员,他们可以自己编写测试,即使他们一般不是程序员。

        2
  •  1
  •   Joshua Partogi    15 年前

    它们都有不同的功能,如果你真的关心你的软件的质量,你会使用它们。

    • RSPEC更多地用于单元测试。单元测试是测试最小的部分,通常是您的模型方法。

    • Webrat更多地用于功能测试,因为最终用户将从浏览器对其进行测试。您实际上正在测试交互,并测试它是否返回正确的视图/数据。

    • 黄瓜更像是行为驱动测试或端到端测试。更多的是根据许多不同的场景或数据测试业务逻辑。

    当然,您可以将它们结合在一起使用。例如,我可以使用Cucumber进行端到端的测试,它还包括使用Webrat和RSPEC进行功能测试。希望这能让你有个开始的想法。

        3
  •  1
  •   denisjacquemin    15 年前

    您可以看看这里最流行的测试框架 http://ruby-toolbox.com/

    干杯