Derw
Search
K
Comment on page

Testing

How to test your Derw code
Derw comes with a built-in test runner via derw test. The runner is based on bach, a test runner written in TypeScript.
To run tests, run `derw test` from the package directory
To watch use the --watch flag
--watch : Watch Derw files for changes
--function string: A particular function name to run
--file string: A particular file name to run
--only-fails : Only log failing tests
-h, --help : This help text

Writing a test

Naming your file

Your file must have the extension _test.derw to be picked up by the test runner.

Importing the testing functions

Testing functions are provided by the stdlib, which you can install via:
derw install --name derw-lang/stdlib --version main
These can then be imported like
import "./Test" exposing ( equals, notEquals )

Writing your test

A test function should be called testNameOfTest, and have the type a -> void. Test functions are automatically exported by the compiler.
testEmptySplit: a -> void
testEmptySplit =
split "," ""
|> equals [ "" ]
testSplit: a -> void
testSplit =
split "," "a,b,c"
|> equals [
"a",
"b",
"c"
]

In-browser tests

When working with html, you may find yourself needing to test a repeated set of actions in the browser - and ensuring the correct data shows up. This can be done via html-test package. It provides both a html element you can embed for results, and a console output. It is currently a work in progress, but if you're curious you can try it out.
console output
web output