6

作为 Rspec 菜鸟,我不知道这个问题有意义。但是我真的很困惑,无法解决这个问题。

我们有一个新要求,要求我们为现有项目编写 Rspec 测试用例。他们已经有使用 rails3 的应用程序,但他们希望现在就编写 rspec 案例

我的问题是

为现有应用程序编写 Rspec 案例有意义吗?

我们可以为已经工作的项目编写规范吗

我们是否应该遵循任何准则来为已编写的应用程序编写规范

谢谢

4

3 回答 3

9

正如 dpassage 正确指出的那样,您的问题与 rspec 无关。这是关于对遗留代码进行单元测试。

为现有应用程序编写 Rspec 案例有意义吗?我们可以为已经工作的项目编写规范吗

是的。最好在编写应用程序之前先编写测试。写测试永远不会太晚,晚开始也没有坏处。测试遗留代码:向遗留代码添加单元测试

我们是否应该遵循任何准则来为已编写的应用程序编写规范

我的两分钱:

  • 逐步添加测试

  • 首先测试应用程序中最重要的部分。即首先开始编写单元测试并关注重要的模型(而不是所有模型)。一旦你测试了你的模型,就会转移到功能测试(控制器)和集成测试。记住:要吃一头大象,我们需要一次吃一块。

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

  • 始终从现在开始为新模型/实现编写单元测试。

有用的参考资料:

于 2012-11-06T06:45:45.407 回答
7

将测试用例添加到现有代码中绝对有意义;随着未来的增强和错误修复,它将有助于保持应用程序正常工作。

这并没有什么rspec特别之处。它只是一个测试框架,使您能够以多种不同的方式测试您的代码。

有大量关于为遗留代码编写测试的文献。结合诸如 The Rspec Book 之类的良好文档,您应该能够开始使用。

于 2012-11-06T06:19:54.173 回答
0

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

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

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

您可以选择需要选择存储在测试文件中的测试。

于 2014-07-12T04:31:15.300 回答