这是我的类,它返回参数的乘法
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中调试并在该行上放置一个断点时,它正被击中。
需要帮助。 谢谢。
答案 0 :(得分:1)
您不能在Rake::TestTask
内使用Simplecov,因为该任务在单独的进程中运行测试。请参阅https://github.com/colszowka/simplecov/issues/88。
修改强>
澄清一下:您当然可以使用Rakefile来使用SimpleCov,但是您无法在Rakefile中启动它(SimpleCov.start
)。您需要在测试中执行此操作,例如在你的测试帮助器中。
请注意,在需要生产代码之前必须先调用SimpleCov.start
。