42d192af79
Not a very useful test runner if it doesn't ever fail, now is it? * Makefile.am (check): Invoke new test/runner-test. Depend on modindex. * bin/runner.js: Exit with non-zero status on assertion failure. * test/_stub: Add stub program with good and bad test cases to test exit code. * test/runner-test: Add system test. |
||
---|---|---|
.. | ||
bin | ||
build-aux | ||
src | ||
test | ||
.gitignore | ||
Makefile.am | ||
README.md | ||
autogen.sh | ||
configure.ac | ||
package.json |
README.md
Program Testing
A /program/ is a top-level package (either marked as with @program="true"
,
or with a root rater
node). This system provides a means of writing and
running test cases.
Test Case Format
Test cases must be provided in a YAML file. Each test case has a
description (description
), input data (data
), and expected results
(expect
).
- description: >-
Example test case
data:
state: [ STATE_AK ]
prem_total: [ 9000 ]
effective_date: 12/05/2017
expect:
premTaxStamping: [ 1234 ]
premTaxSurplus: [ 1010 ]
A file may contain any number of test cases. All identifiers in data
and
expect
must be valid inputs (params) and outputs (classifications and
calculations) respectively. Inputs are passed as-is to the program, and
outputs are recursively (deeply) compared.