2.3 KiB
+++ title = "UCG Testing Modules" weight = 3 sort_by = "weight" in_search_index = true +++
The UCG testing modules can be imported like so let t = import "std/testing.ucg";
It has a number of helpful assertions you can use in unit testing.
The asserts modules
The asserts module exposes a number of asserts. It contains nested modules for each available assertion. You can configure the asserts module with a default description if desired.
Each of the asserts results in a result
field that is a tuple with the shape that
the assert statement expects.
The asserts module has one parameter.
default_description
which is optional and defaults to "TODO description"
ok assertion
The ok
assertion module tests that something is true. It has two parameters.
test
which is required and is represents the expression to test.desc
which is an optional description to output for your test. This defaults to thedefault_description
that theasserts
modules was set to.
let t = import "std/testing.ucg".asserts{};
assert t.ok{
test=true,
};
no_ok assertion
The not_ok
assertion module tests that something is not true. It has two
parameters.
test
which is required and is represents the expression to test.desc
which is an optional description to output for your test. This defaults to thedefault_description
that theasserts
modules was set to.
let t = import "std/testing.ucg".asserts{};
assert t.ok{
test=true,
};
equal assertion
The equal
assertion module tests that two items are equal. It has two parameters.
left
which is required and is the left hand side expression to compareright
which is required is the right hand side expression to compare.
This module will create a description for you from the compared values.
let t = import "std/testing.ucg".asserts{};
assert t.equal{
left=1,
right=1,
};
not_equal assertion
The not_equal
assertion module tests that two items are not equal. It has two
parameters.
left
which is required and is the left hand side expression to compareright
which is required is the right hand side expression to compare.
This module will create a description for you from the compared values.
let t = import "std/testing.ucg".asserts{};
assert t.not_equal{
left=1,
right=2,
};