当前位置:  开发笔记 > 后端 > 正文

检测重写ruby测试方法

如何解决《检测重写ruby测试方法》经验,为你挑选了1个好方法。

如果你写一个类似的测试类

class MyTest < Test::Unit::TestCase 
  def setup 
  end

  def test_1 
    flunk
  end

  def test_1 
    assert true
  end
end

第一个test_1被忽略.虽然它看起来像一个愚蠢的错误,但它可能发生在复制和粘贴编程中.除了跑步

grep test test_me.rb | wc

并将其与测试单元所运行的测试数量,或使用rcov或heckle,或与-w一起运行进行比较,您如何检测此类问题?

另外,有没有办法指定不应该覆盖测试方法?

编辑:正在测试的方法有一个参数,有6个左右的可能值,测试人员想测试每个场景.这就是使用复制和粘贴编程的原因.我可以设想的唯一替代方案是六元素参数和期望值数组.



1> Aaron Hinni..:

您可以利用method_added随机方法添加到类中时调用的Ruby .您应该可以将某些内容添加到您包含的模块中,但这是在测试类中执行此操作的简单示例.

class MyTest < Test::Unit::TestCase

  @@my_tests = []

  def self.method_added(sym)
    raise "#{sym} already defined!" if @@my_tests.include? sym
    @my_tests << sym
  end

  def test_foo_1
  end

  def test_foo_2
  end

  def test_foo_1
  end
end

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有