Basic unit testing facilities (suites, fixtures, cases)
Added: PNimrodNode.lineinfo for better error messages from macros Added: seq.splice For easier use from templates and macros, except stament now supports the list of exception types to be supplied in nkBraket node (array literal).
This commit is contained in:
parent
eaeed1f846
commit
22546c44d1
8 changed files with 258 additions and 16 deletions
47
tests/accept/run/tunit.nim
Normal file
47
tests/accept/run/tunit.nim
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import
|
||||
unittest, macros
|
||||
|
||||
var
|
||||
a = 1
|
||||
b = 22
|
||||
c = 1
|
||||
d = 3
|
||||
|
||||
suite "my suite":
|
||||
setup:
|
||||
echo "suite setup"
|
||||
var testVar = "from setup"
|
||||
|
||||
teardown:
|
||||
echo "suite teardown"
|
||||
|
||||
test "first suite test":
|
||||
testVar = "modified"
|
||||
echo "test var: " & testVar
|
||||
check a > b
|
||||
|
||||
test "second suite test":
|
||||
echo "test var: " & testVar
|
||||
|
||||
proc foo: bool =
|
||||
echo "running foo"
|
||||
return true
|
||||
|
||||
proc err =
|
||||
raise newException(EArithmetic, "some exception")
|
||||
|
||||
test "final test":
|
||||
echo "inside suite-less test"
|
||||
|
||||
check:
|
||||
a == c
|
||||
foo()
|
||||
d > 10
|
||||
|
||||
test "arithmetic failure":
|
||||
expect(EArithmetic):
|
||||
err()
|
||||
|
||||
expect(EArithmetic, ESystem):
|
||||
discard foo()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue