simplify unit testing with a minimal testing framework
qutonium is takes is inspiration from the rust-testing-microframework. the goal is to provide a minimal testing framework for assertions (see the list of features here). the project is still in work in progress so.. DO NOT USE IN PRODUCTION. DO NOT USE IN PRODUCTION. DO NOT USE IN PRODUCTION. feedbacks appreciated!
more examples here
```rust fn main () {}
mod tests { extern crate qutonium; use qutonium::prelude::*;
#[test] fn fromtest () { // basic syntax suite!("the suite case name ~basic", { "compare integer" || { expect!(2 + 2).to(beequal(4))?; expect!(0).not(be_equal(1)) }
"compare boolean" || {
expect!(false).to(be_false())?;
expect!(true).to(be_true())
}
"testing should panic" || {
expect!(catch { panic!() }).to(abort())
}
});
// sugar syntax
suite!("the suite case name ~sugar", {
"compare integer" || {
must!(0; be 1)?;
must!(0; ne 1)
}
"compare boolean" || {
must!(false; be.falsy)?;
must!(true; be.truthy)
}
"testing should panic" || {
must!(catch panic!() to abort())
}
});
} } ```
The output format follow the syntax from crystal
| ruby
. s/o Siegfried Ehret
``` SUITE the suite case name TEST compare integer (0ms) ERROR đ received: <0> expected: <1> đ src/main.rs:7:7 END END TEST compare boolean (0ms) SUCCESS đ ok đ src/main.rs:12:7 END END TEST testing should panic (0ms) SUCCESS đ ok đ src/main.rs:16:7 END END END
DIAGNOSTIC đ failed: 1 đ passed: 2 đ total: 3 END ```
suite!
expect
not
& to
matchers
| see the complete list herematchers
matchers
location
snapshot
diff | using differences cratematchers
before:all
, before:each
, after:all
and after:each
json
, xml
| generic execution format for sonar (xml only)skip
and only
store
| state containerpanic
can be testingjson
| handler | snippet |
|---------|------------------------------------------------|
| to_json | suite!("my suite case name", {..}).to_json()
|
| marker | snippet |
|---------|----------------------------|
| to | expect!(0).to(matcher)
|
| not | expect!(1).not(matcher)
|
boolean
| matcher | snippet |
|-----------|-----------------------------------|
| befalse | expect!(0 == 1).to(be_false())
|
| betrue | expect!(0 == 0).to(be_true())
|
common
| matcher | snippet |
|-------------|-----------------------------------------------------|
| be_equal | expect!("helloworld").to(be_equal("helloworld))
|
Copyright ÂŠī¸ 2020 Qurity
Released under the MIT license