Skip to content

Match text and JSON output #39

@hmdros

Description

@hmdros

Add "Code" and "Tests" total count from bottom of report to JSON output

Ex:
console output:

+----------------------+---------+---------+---------+---------+---------+-----+-------+
| Name                 | Files   | Lines   |     LOC | Classes | Methods | M/C | LOC/M |
+----------------------+---------+---------+---------+---------+---------+-----+-------+
| Channel Tests        |       1 |      13 |       5 |       1 |       0 |   0 |     0 |
| Channels             |       4 |      16 |      16 |       4 |       0 |   0 |     0 |
| Configuration         |      16 |     418 |     120 |       1 |       0 |   0 |     0 |
| Controllers          |       2 |       9 |       8 |       2 |       1 |   0 |     6 |
| Gems                 |      27 |    2334 |    1603 |      20 |     173 |   8 |     7 |
| Helpers              |       2 |       5 |       5 |       0 |       0 |   0 |     0 |
| Javascripts          |       7 |      57 |      23 |       0 |       0 |   0 |     0 |
| Jobs                 |       2 |      14 |       4 |       2 |       0 |   0 |     0 |
| Lib Tests            |       2 |     164 |     151 |       0 |       0 |   0 |     0 |
| Mailers              |       2 |       8 |       8 |       2 |       0 |   0 |     0 |
| Model Tests          |       5 |      21 |      12 |       5 |       0 |   0 |     0 |
| Models               |       5 |      12 |      12 |       5 |       0 |   0 |     0 |
| Other Tests          |       8 |     816 |     653 |       0 |       1 |   0 |   651 |
| Sidekiq Tests        |       1 |       6 |       6 |       1 |       1 |   1 |     4 |
| Sidekiqs             |       1 |      30 |      15 |       1 |       2 |   2 |     5 |
| Spec Support         |       2 |      60 |      46 |       0 |       2 |   0 |    21 |
| Test Support         |      34 |     503 |     176 |      10 |       1 |   0 |   174 |
+----------------------+---------+---------+---------+---------+---------+-----+-------+
| Code                 |      68 |    2903 |    1814 |      37 |     176 |   4 |     8 |
| Tests                |      53 |    1583 |    1049 |      17 |       5 |   0 |   207 |
| Total                |     121 |    4486 |    2863 |      54 |     181 |   3 |    13 |
+----------------------+---------+---------+---------+---------+---------+-----+-------+
  Code LOC: 1814     Test LOC: 1049     Code to Test Ratio: 1:0.6  Files: 121

JSON output:

[
  {
    "name": "Sidekiqs",
    "files": "1",
    "lines": "30",
    "loc": "15",
    "classes": "1",
    "methods": "2",
    "m_over_c": "2",
    "loc_over_m": "5"
  },
  {
    "name": "Mailers",
    "files": "2",
    "lines": "8",
    "loc": "8",
    "classes": "2",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Models",
    "files": "5",
    "lines": "12",
    "loc": "12",
    "classes": "5",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Javascripts",
    "files": "7",
    "lines": "57",
    "loc": "23",
    "classes": "0",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Jobs",
    "files": "2",
    "lines": "14",
    "loc": "4",
    "classes": "2",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Controllers",
    "files": "2",
    "lines": "9",
    "loc": "8",
    "classes": "2",
    "methods": "1",
    "m_over_c": "0",
    "loc_over_m": "6"
  },
  {
    "name": "Helpers",
    "files": "2",
    "lines": "5",
    "loc": "5",
    "classes": "0",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Channels",
    "files": "4",
    "lines": "16",
    "loc": "16",
    "classes": "4",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Configuration",
    "files": "16",
    "lines": "418",
    "loc": "120",
    "classes": "1",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Gems",
    "files": "27",
    "lines": "2334",
    "loc": "1603",
    "classes": "20",
    "methods": "173",
    "m_over_c": "8",
    "loc_over_m": "7"
  },
  {
    "name": "Other Tests",
    "files": "8",
    "lines": "816",
    "loc": "653",
    "classes": "0",
    "methods": "1",
    "m_over_c": "0",
    "loc_over_m": "651"
  },
  {
    "name": "Spec Support",
    "files": "2",
    "lines": "60",
    "loc": "46",
    "classes": "0",
    "methods": "2",
    "m_over_c": "0",
    "loc_over_m": "21"
  },
  {
    "name": "Model Tests",
    "files": "5",
    "lines": "21",
    "loc": "12",
    "classes": "5",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Test Support",
    "files": "34",
    "lines": "503",
    "loc": "176",
    "classes": "10",
    "methods": "1",
    "m_over_c": "0",
    "loc_over_m": "174"
  },
  {
    "name": "Lib Tests",
    "files": "2",
    "lines": "164",
    "loc": "151",
    "classes": "0",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Channel Tests",
    "files": "1",
    "lines": "13",
    "loc": "5",
    "classes": "1",
    "methods": "0",
    "m_over_c": "0",
    "loc_over_m": "0"
  },
  {
    "name": "Sidekiq Tests",
    "files": "1",
    "lines": "6",
    "loc": "6",
    "classes": "1",
    "methods": "1",
    "m_over_c": "1",
    "loc_over_m": "4"
  },
  {
    "name": "Total",
    "files": "121",
    "lines": "4486",
    "loc": "2863",
    "classes": "54",
    "methods": "181",
    "m_over_c": "3",
    "loc_over_m": "13",
    "code_to_test_ratio": "0.6",
    "total": true
  }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions