asynctest/Readme.md
Mark Spanbroek 195f8cf668 Add Readme
Update test to match example in Readme.
2021-01-11 14:23:36 +01:00

54 lines
1.1 KiB
Markdown

asynctest
=========
Complements the standard [unittest][1] module in Nim to allow testing of
asynchronous code.
Installation
------------
Use the [Nimble][2] package manager to add asynctest to an existing project.
Add the following to its .nimble file:
```nim
requires "asynctest >= 0.1.0 & < 0.2.0"
```
Usage
-----
Simply replace `test` with `asynctest` when you need to await asynchronous calls
in the test. The same holds for `asyncsetup` and `asyncteardown`, which allow
you to await asynchronous calls during test setup and teardown.
Example
-------
```nim
import unittest
import asynctest
import asyncdispatch # alternatively: import chronos
proc someAsyncProc {.async.} =
# perform some async operations using await
suite "test async proc":
asyncsetup:
# invoke await in the test setup:
await someAsyncProc()
asyncteardown:
# invoke await in the test teardown:
await someAsyncProc()
asynctest "some test":
# invoke await in tests:
await someAsyncProc()
```
[1]: https://nim-lang.org/docs/unittest.html
[2]: https://github.com/nim-lang/nimble