作为 Rspec 菜鸟,我不知道这个问题有意义。但是我真的很困惑,无法解决这个问题。
我们有一个新要求,要求我们为现有项目编写 Rspec 测试用例。他们已经有使用 rails3 的应用程序,但他们希望现在就编写 rspec 案例
我的问题是
为现有应用程序编写 Rspec 案例有意义吗?
我们可以为已经工作的项目编写规范吗
我们是否应该遵循任何准则来为已编写的应用程序编写规范
谢谢
作为 Rspec 菜鸟,我不知道这个问题有意义。但是我真的很困惑,无法解决这个问题。
我们有一个新要求,要求我们为现有项目编写 Rspec 测试用例。他们已经有使用 rails3 的应用程序,但他们希望现在就编写 rspec 案例
我的问题是
为现有应用程序编写 Rspec 案例有意义吗?
我们可以为已经工作的项目编写规范吗
我们是否应该遵循任何准则来为已编写的应用程序编写规范
谢谢
正如 dpassage 正确指出的那样,您的问题与 rspec 无关。这是关于对遗留代码进行单元测试。
为现有应用程序编写 Rspec 案例有意义吗?我们可以为已经工作的项目编写规范吗
是的。最好在编写应用程序之前先编写测试。写测试永远不会太晚,晚开始也没有坏处。测试遗留代码:向遗留代码添加单元测试
我们是否应该遵循任何准则来为已编写的应用程序编写规范
我的两分钱:
逐步添加测试
首先测试应用程序中最重要的部分。即首先开始编写单元测试并关注重要的模型(而不是所有模型)。一旦你测试了你的模型,就会转移到功能测试(控制器)和集成测试。记住:要吃一头大象,我们需要一次吃一块。
如果您现有的模型难以编写测试,则意味着您需要重构代码。重构以使您的模型易于测试。
始终从现在开始为新模型/实现编写单元测试。
有用的参考资料:
将测试用例添加到现有代码中绝对有意义;随着未来的增强和错误修复,它将有助于保持应用程序正常工作。
这并没有什么rspec
特别之处。它只是一个测试框架,使您能够以多种不同的方式测试您的代码。
有大量关于为遗留代码编写测试的文献。结合诸如 The Rspec Book 之类的良好文档,您应该能够开始使用。
我写了这个宝石https://rubygems.org/gems/autogen_rspec。
所以这个宝石的功能是完整的,但我觉得它需要一些抛光。
这个怎么运作?因此,在我们安装了这个 gem 并运行了一个服务器之后,gem 开始记录所有的请求、响应和断言 rspec 样式。因此,如果您将其安装在 QA 环境中,并且 QA 团队将测试回归,则所有 URL 都将记录到包含响应的文件中。
您可以选择需要选择存储在测试文件中的测试。