mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
* Error -> Defect for defects The distinction between Error and Defect is subjective, context-dependent and somewhat arbitrary, so when looking at an exception, it's hard to guess what it is - this happens often when looking at a `raises` list _without_ opening the corresponding definition and digging through layers of inheritance. With the help of a little consistency in naming, it's at least possible to start disentangling the two error types and the standard lib can set a good example here.
48 lines
701 B
Nim
48 lines
701 B
Nim
|
|
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(ArithmeticDefect, "some exception")
|
|
|
|
test "final test":
|
|
echo "inside suite-less test"
|
|
|
|
check:
|
|
a == c
|
|
foo()
|
|
d > 10
|
|
|
|
test "arithmetic failure":
|
|
expect(ArithmeticDefect):
|
|
err()
|
|
|
|
expect(ArithmeticDefect, CatchableError):
|
|
discard foo()
|