【发布时间】:2018-01-17 22:33:51
【问题描述】:
我喜欢从工作中的 rails 5 应用程序创建 rspec 测试。 它可能是工作的模板。
例如: -scaffold 将创建很好的测试文件模板。 - 或simplecov 帮助提高测试率(如果我理解正确的话) -因此,如果有任何工具可以通过每一行控制器方法运行并重新创建每个预期/结果放入测试文件中。
有什么宝石或解决方案吗?
为什么要问这个问题? 我明白这不是测试的目的。但是测试是为了节省将来和现在的时间。许多 Rails 应用程序没有测试,并且假设应用程序在这个阶段很好,返回每行运行代码将再次花费。如果我们现在可以进行所有测试并使用它来控制/运行以供将来的开发使用,那将是很好的
【问题讨论】:
-
我不认为有这样的工具,你需要自己编写测试,即使有任何工具可以读取文件/方法并为你创建规范文件,它会只是简单的规范文件,您必须自己编写预期的案例
-
有……github.com/Nedomas/zapata。但我不确定它是否有用或与您的解决方案兼容。
-
看起来很符合我的要求。我将需要尝试使用以前的 ruby 和 rails。稍后会更新。想
-
@Josh Brody,我尝试了 zapata,但没有运气让它与我的 ruby 或 rails 一起使用。我不能使用低于 2.4 或 rails 4 的 ruby。他们的解析器需要更低的 ruby (2.1+) 和 rails 3.0+
-
@t.kul 写自己并不是一件非常困难的事情。你只会做很多
MyController.instance_methods(false)并循环播放。同样,Model.instance_methods(false),Model.methods(false)——该代码库也应该让你走上正轨。
标签: ruby-on-rails testing reverse-engineering rspec-rails