【问题标题】:How do I get coverage for views in Rails如何在 Rails 中获取视图的覆盖范围
【发布时间】:2014-01-30 08:46:27
【问题描述】:

上下文

正如其他人在 2012 年之前询问的那样,请参阅下面的链接,我想知道我的 Rails 视图是否包含在我的规范/cucs 中。我知道 2012 年的答案是没有解决方案。我想知道2014年现在是否有解决方案?我在网上搜索并没有找到太多,所以我担心答案是一样的。

动机

我想知道我的黄瓜功能是否涵盖了 API 的所有部分(在本例中为 GUI)。当我添加 GUI 功能(新视图、按钮等)但不知何故忘记为其添加 cuccie 时,我想收到通知。 因此,我并不想在我的视图中涵盖所有内容,但我想防止我无意中忘记为新用户功能添加 cuccie。从而减少代码无法在生产环境中运行的可能性。

研究

我找到了上面提到的以下链接:

我想研究的一种可能有趣的方法是:

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 rspec


    【解决方案1】:

    我想防止我无意中忘记为 新的用户功能。

    迂腐的答案是,您可以确保在添加功能之前编写这些测试(或至少同时提交它们。)但是,这过于教条而且并不总是现实的。

    SimpleCov 或其他测试覆盖率工具可以帮助您间接监控这一点,即使它不能直接测量视图中的覆盖率(因为它们不是用 Ruby 编写的。)

    如果您涵盖了每个控制器操作、模型和视图辅助方法,那么您可能处于良好状态。 (如果您尽可能避免将逻辑放在视图中,则此方法效果最佳。)

    【讨论】:

    • 谢谢,但不是我想的 ;) 我们已经跟踪了控制器和模型的覆盖范围。我事先写了 rspecs 和 cucs,所以没有抱怨。问题是我 1) 想知道我的测试确实涵盖了所有内容 2) 在重构之后我想知道我没有破坏任何东西 3) 我希望在覆盖率意外下降时构建失败。我们有这个用于我们的其他测试,但没有用于视图,这很烦人并导致可能自动检测到的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多