exercism / exercism/scala-test-runner

Include test code in results.json

Closed
#8 0 comments 0 reactions 1 assignee Claimed by @rabestro View on GitHub
help wanted
Dominant language
Scala
Stars
5
Forks
10
Avg merge
17h 45m
Merged PRs (30d)
7

Description

We've recently updated the [test runner interface specification](https://github.com/exercism/docs/blob/main/building/tooling/test-runners/interface.md) to allow for two types of test runners, identified via a new `version` property in the `results.json` file (see [the spec for the version property](https://github.com/exercism/docs/blob/main/building/tooling/test-runners/interface.md#version)):

1. `version: 1` test runners are quite basic, and only detect if either all tests passed or not. These test runners capture the console output of the test runner and output that. They do _not_ include details on individual tests passing/failing
2. `version: 2` test runners contain detailed information on individual tests passing/failing. We've recently added a required field named `test_code`, which contains the code the test ran to verify the behavior (see [the spec for the test_code property](https://github.com/exercism/docs/blob/main/building/tooling/test-runners/interface.md#test-code)).

The test runner's output is currently what I refer to as version 1.5: it contains the individual test information, but does not yet contain the `test_code` key. If possible, the test runner should be updated to also include the test code.

There is an existing TODO in the code where the test code is written: https://github.com/exercism/scala-test-runner/blob/main/src/main/scala/Application.scala#L63 You are completely free on how you want to extract the test code, either via the AST or via finding the test code in the source code text via string manipulation. Whatever is most convenient.

Let me know if there are any questions.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.