Closed JSAbrahams closed 2 years ago
:exclamation: No coverage uploaded for pull request base (
develop@eb7a8a8
). Click here to learn what that means. The diff coverage isn/a
.
@@ Coverage Diff @@
## develop #234 +/- ##
==========================================
Coverage ? 79.46%
==========================================
Files ? 100
Lines ? 8527
Branches ? 0
==========================================
Hits ? 6776
Misses ? 1751
Partials ? 0
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update eb7a8a8...5d3acb3. Read the comment docs.
Need to sleep on this, some unit tests borderline look like integration tests, in which case they should not be alongside the source. I used the rule of, if it uses a test resource, it belongs in the test directory. However, this is somewhat arbitrary I'd say. There is not much difference between passing a string directly, and parsing a file first and then passing the string encoding the file contents. So the grouping perhaps does not make much sense.
I'd say that, since the lexer and parser are so tightly integrated, it makes sense to see them as unit tests. As for the type checker and core, the distinction is perhaps less straightforward. It would look like a unit test if we would manually constuct an AST tree, but this is far more work than its worth. However, the functioning of type checker tests is tightly integrated with the success of the parser. Perhaps then it is best to treat these as integration tests, though the structure is very similar to the parse unit tests so I'm a bit on the fence here.
Merging the two actually now makes the distinction between unit and integration pretty clear now, check and core now are integration. Output is more of a system test. On a sidenote, core tests are integration as it does not run the type checker.
Relevant issues
Fixes #63