2012-11-06 36 views
6

作为Rspec noob,我不知道这个问题是否合理。 BUT我真的很困惑,无法得到解决方案。为现有应用程序编写测试用例(Rspec)

我们有一个新的要求,要求我们为现有项目编写Rspec测试用例。他们有一个已经工作Rails3中的应用,但他们现在要被写入rspec的情况下

我的问题是

写作Rspec的情况下,现有的应用程序有意义吗?

我们可以写规范对于已经工作的项目

我们应当遵循的指导方针,以写标准已写入应用程序

谢谢

回答

8

正如dpassage指出的,你的问题与rspec无关。这是关于单元测试遗留代码的。

为现有应用程序编写Rspec案例确实有意义吗? 我们可以编写规范已经在运行的项目

是的。在编写应用程序之前,最好先编写测试。写测试永远不会太晚,开始时间不会太短。 测试遗留代码:Adding unit tests to legacy code

我们应当遵循的准则编写已写入应用规范

我的两个美分,这样的:

  • 添加测试增量

  • 先测试最imp您的应用程序的不同部分。即先开始编写单元测试,然后专注于重要模型(而不是所有模型)。一旦你测试你的模型,转向功能测试(控制器)和集成测试。 切记:要吃大象,我们需要一次吃一块。

  • 如果您现有的模型很难编写测试,这意味着您需要重构您的代码。重构使您的模型易于测试。

  • 总是从NOW开始为新模型/实现编写单元测试。

有用的参考资料:

7

这绝对是有道理的测试用例添加到现有的码;它将有助于保持应用程序的工作,因为将来会增强功能并修复错误。

没有什么关于rspec,这使得这个特别不同;它只是一个测试框架,使您能够以许多不同的方式测试代码。

关于为遗留代码编写测试有相当多的文献,结合Rspec Book等良好的文档,您应该可以开始使用。

+0

完美答案.. –

+0

嘿非常感谢你的回答 – devudilip

0

我写这个宝石https://rubygems.org/gems/autogen_rspec

所以这个宝石的功能完整,但我觉得它需要一些抛光。

它是如何工作的? 因此,在我们安装这个gem并运行服务器之后,gem开始记录所有请求,响应和断言rspec样式。因此,如果您将其安装在QA env上,并且QA团队将测试回归,则所有URL都将记录到包含响应的文件中。

您需要选择存储在测试文件中的哪些测试需要选择。