这是我的类,它返回参数的乘法
class NetAssetValue
def calculate_net_asset_value(number_of_shares, price)
number_of_shares * price
end
end
这是我的考验
require 'net_asset_value'
require 'test/unit'
class NetAssetValueTest < Test::Unit::TestCase
def setup
@asset = NetAssetValue.new
end
def test_calculate_net_asset_value_for_a_symbol
assert_equal(100, @asset.calculate_net_asset_value(20,5))
end
end
我正在使用SimpleCov 0.7.1。覆盖率报告称,该方法中的一行尽管被覆盖,但并未被覆盖。
它说覆盖率为66.67%,并且该线
number_of_shares * 价格
未涵盖 但是当我在 RubyMine 中调试并在该行上放置一个断点时,它被击中了。
需要这方面的帮助。谢谢。
您不能从Rake::TestTask
中使用 Simplecov,因为该任务在单独的进程中运行测试。请参阅 https://github.com/colszowka/simplecov/issues/88。
编辑
澄清一下:您当然可以通过使用Rakefile来使用SimpleCov,但您不能在Rakefile中启动(SimpleCov.start
)它。您需要在测试中执行此操作,例如在测试助手中。请记住,在需要生产代码之前,必须调用SimpleCov.start
。