rescript-vitest
v2.1.1
Published
[](https://www.npmjs.com/package/rescript-vitest) [](https://www.npmjs.com/package/rescript-vitest) [ => {
test("This is a test case", t => {
// t is `expect` object for suite-wide assertions
t->assertions(3)
// Test using the `Expect` module
t->expect(1 + 2)->Expect.toBe(3)
// There are some nested modules for specific type
t->expect([1, 2, 3])
->Expect.Array.toContain(2)
t->expect("Hello, ReScript-Vitest!")
->Expect.String.toContain("ReScript")
// You can specify timeout for a test suite
}, ~timeout=2000)
})In-source testing (experimental)
Vitest support in-source testing
// This if block can be removed from production code.
// You need to define `import.meta.vitest` to `undefined`
if Vitest.inSource {
open Vitest.InSource
test("In-source testing", t => {
t->expect(1 + 2)->Expect.toBe(3)
})
}Migration from 1.x
You need to bind test context t explicitly.
open Vitest
describe("Hello, Vitest", () => {
- test("This is a test case", _ => {
+ test("This is a test case", t => {
- assertions(3)
+ t->assertions(3)
- expect(1 + 2)->Expect.toBe(3)
+ t->expect(1 + 2)->Expect.toBe(3)
})
})You can use simple flags for skip, concurrent, and only.
Skip.test("This will be skipped", t => {
// ...
})
// Use simple flags instead.
test(~skip=true, "This will be skipped", t => {
// ...
})Module bindings will be deprecated and removed in next major (v3)
LICENCE
MIT
