a7ex / xcresultparser

Parse the binary xcresult bundle from Xcode builds and testruns
MIT License
83 stars 24 forks source link

Json format output #14

Closed alexnot95 closed 1 year ago

alexnot95 commented 1 year ago

First of all thanks for the great project! It would be nice if it's possible to add json format to output type since we are using xcresult summaries in slack report messages, so It would be much easier if the whole summary data would be in json format, cuz it's easier to work with this format later :)

a7ex commented 1 year ago

Which one do you want in json format, coverage or test results and how would such a json format look like?

alexnot95 commented 1 year ago

@a7ex For me test results would be enough, for example:

{
 "summary": {
   "errors": 1,
   "warnings": 5,
   "analyzer_warnings": 0,
   "tests": 66,
   "failed_tests": 2,
   "skipped_tests": 0
 },
 "test_results": [
   {
     "locale_id": "en-gb",
     "failed_tests": [
      {
        "test_name": "testOne",
        "test_time": 6.1538
      }
    ],
    "passed_tests": [
      {
        "test_name": "testTwo",
        "test_time": 3.1299
      },
      {
        "test_name": "testThree",
        "test_time": 8.3829
      }
     ]
   },
   {
    "locale_id": "pt-br",
     "failed_tests": [],
     "passed_tests": [
      {
        "test_name": "testOne",
        "test_time": 5.9288
      },
      {
        "test_name": "testTwo",
        "test_time": 3.1299
      },
      {
        "test_name": "testThree",
        "test_time": 8.3823
      }
     ]
   },
   {
    "locale_id": "fr",
     "failed_tests": [
       {
        "test_name": "testOne",
        "test_time": 5.9288
       },
       {
        "test_name": "testTwo",
        "test_time": 3.1299
       },
       {
        "test_name": "testThree",
        "test_time": 8.3823
       }
     ],
     "passed_tests": []
   }
 ] 
}

The summary could be configurable since you have specific options for that, but it's not a high priority Also, "test_time" looks a bit useless for me for now, but I think it could be useful for specific cases or in future

a7ex commented 1 year ago

Ok, that seems possible. I will have a closer look later.

a7ex commented 1 year ago

This is not an issue, but rather a feature request. "It is easier for you to work with" is not a very strong reason for me to do the work for you for free.