|
4 weeks ago | |
---|---|---|
doc | 4 weeks ago | |
judge-gen | 4 weeks ago | |
support | 1 month ago | |
test | 4 weeks ago | |
.gitattributes | 2 months ago | |
README.adoc | 2 months ago | |
notes.txt | 4 weeks ago | |
project.janet | 1 month ago |
Make simple testing low-cost and automatable especially during exploratory coding when using Janet.
Encourage the creation of illustrative examples to help potential users form appropriate mental models.
This is an early stage project. The author uses it in a number of projects though. Be sure to examine the fine print.
Within comment
blocks, put expressions / forms to be tested along
with brief records of expected values:
(comment
(- 1 1)
# => 0
)
Note the use of a single line comment and ⇒
to express an
expected return value.
One might call the form + expected value comment a "comment block test".
See Usage / Test Writing Tips for more details.
Once some setup steps are followed, tests can be run by: jpm test
Suppose there’s a project directory like:
. ├── my-src-dir │ └── fun.janet ├── project.janet └── test └── test.janet
Decide on a name for the directory to hold comment block tests,
e.g. examples
.
Copy the file test/judge-gen.janet
from this repository to the
target project’s test
subdirectory and rename it to
examples.janet
.
Create a direct subdirectory of the project root directory named
examples
to house comment block tests.
Within the examples
directory, create at least one file with a
comment block test in it.
Now it should look something like:
. ├── examples │ └── nice-samples.janet ├── my-src-dir │ └── fun.janet ├── project.janet └── test ├── examples.janet └── test.janet
See Details for additional information regarding the various files and directories.
To run the tests and get a report: jpm test
Add more tests / examples by creating more comment block tests in files that live in an appropriate directory.
This repository can serve as an example, but here are some others:
andrewchambers - suggestion and explanation
bakpakin - janet, jpm, helper.janet, path.janet, peg for janet, etc.
pepe - discussion, One-Shot Power Util Solver ™ motivation, and naming
pyrmont - discussion and exploration
rduplain - bringing to light customization of jpm test
Saikyun - discussion and testing
srnb@gitlab - suggestion