我想分析我们代码的测试覆盖率,因此安装了 simplecov gem。
我们的测试环境有 2 个独立的项目:REST API 测试(Java+Rest-Assured)和 Web UI 测试(Java-Selenium)。
如您所见,我们在 rails 应用程序中没有单元测试,我们正在使用外部项目进行测试。
我按照教程中的描述配置了 simplecov gem,并将其放在 rails 脚本中:
require 'simplecov'
SimpleCov.start 'rails'
puts "require simplecov"
加载应用程序时,我看到了我打印的字符串。
我运行了两个自动化测试项目,在 rails 日志中看到了它们的打印输出,但是我没有看到任何控制器/模型的覆盖,我只看到一些 gems 和 rails 的初始化文件的一小部分。
我在网上搜索,并尝试将代码短语放在 boot.rb 甚至 puma.rb 中,它返回了相同的结果。
有任何想法吗?
编辑
所有评论都没有帮助,但我发现了一些非常有趣的东西,在所有情况下,我只看到标记为已测试的方法的名称,而不是内容(在控制器中)。
我试图将 simplecov 起始短语放在 bin/rails、puma.rb、config.ru、environment.rb 中,所有这些都没有给出所需的代码覆盖结果。