【问题标题】:Ruby on Rails: Rake: rake stats didn't add my field to the correct value?Ruby on Rails: Rake: rake stats 没有将我的字段添加到正确的值?
【发布时间】:2011-06-22 14:13:27
【问题描述】:

在我的 rake stats 修改之前

+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers          |  5037 |  3936 |      31 |     292 |   9 |    11 |
| Helpers              |   150 |   128 |       0 |      17 |   0 |     5 |
| Models               |  1523 |  1166 |      42 |     123 |   2 |     7 |
| Libraries            |   633 |   415 |       4 |      65 |  16 |     4 |
| Functional tests     |   289 |   228 |      13 |       0 |   0 |     0 |
| Unit tests           |   560 |   389 |      30 |       0 |   0 |     0 |
| Model specs          |  1085 |   904 |       0 |       3 |   0 |   299 |
| View specs           |    88 |    75 |       0 |       0 |   0 |     0 |
| Controller specs     |   468 |   388 |       0 |       2 |   0 |   192 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |  9833 |  7629 |     120 |     502 |   4 |    13 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 5645     Test LOC: 1984     Code to Test Ratio: 1:0.4

现在,当我添加:

#Factories
::STATS_DIRECTORIES << %w(Factories\ specs test/factories) if File.exist?('test/factories')
::CodeStatistics::TEST_TYPES << "Factory specs" if File.exist?('test/factories')

120行左右,应该增加test LOC吧?

+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers          |  5037 |  3936 |      31 |     292 |   9 |    11 |
| Helpers              |   150 |   128 |       0 |      17 |   0 |     5 |
| Models               |  1523 |  1166 |      42 |     123 |   2 |     7 |
| Libraries            |   633 |   415 |       4 |      65 |  16 |     4 |
| Functional tests     |   289 |   228 |      13 |       0 |   0 |     0 |
| Unit tests           |   560 |   389 |      30 |       0 |   0 |     0 |
| Model specs          |  1085 |   904 |       0 |       3 |   0 |   299 |
| View specs           |    88 |    75 |       0 |       0 |   0 |     0 |
| Controller specs     |   468 |   388 |       0 |       2 |   0 |   192 |
| Factories specs      |   144 |   119 |       0 |       0 |   0 |     0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |  9977 |  7748 |     120 |     502 |   4 |    13 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 5764     Test LOC: 1984     Code to Test Ratio: 1:0.3

不是从工厂添加 144 行来测试 LOC,而是将它们添加到代码 LOC =\ 如何让行数在 Test LOC 中?

【问题讨论】:

  • 如果我是你,我会花更多时间改进我的代码:测试比率,而不是试图获得“更好”的结果。
  • 哈哈。这就是我正在做的事情。但指标仍然很重要。当我等待另一个问题的答案时,我只是在测试写作中休息一下,这个问题阻止我运行任何 ruby​​ 文件 =p

标签: ruby rake rakefile


【解决方案1】:

您正在向STATS_DIRECTORIES 数组添加一个名为“工厂规格”(复数)的东西,但是当您将它添加到TEST_TYPES 数组时,您将其称为“工厂规格”(单数)——所以当rake:stat点击您的test/factories 文件夹,它在TEST_TYPES 中查找“工厂规格”,没有找到它,并假定它是代码,而不是测试。您需要在两个地方都将其称为相同的东西:

::STATS_DIRECTORIES << %w(Factory\ specs test/factories) if File.exist?('test/factories')
::CodeStatistics::TEST_TYPES << "Factory specs" if File.exist?('test/factories')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2011-02-09
    • 2011-03-15
    相关资源
    最近更新 更多