To simplify testing in isolation, we provide a utility called launchTestNode
.
It allows you to spin up a short-lived fuel-core
node, set up a custom provider, wallets, deploy contracts, and much more in one go.
For usage information for launchTestNode
including it's inputs, outputs and options, please check the API reference .
We support explicit resource management , introduced in TypeScript 5.2, which automatically calls a cleanup
function after a variable instantiated with the using
keyword goes out of block scope:
// #import { launchTestNode };
using launched = await launchTestNode();
/*
The method `launched.cleanup()` will be automatically
called when the variable `launched` goes out of block scope.
*/
To use explicit resource management , you must:
5.2
or above es2022
or below esnext
or esnext.disposable
{
"compilerOptions": {
"target": "es2022",
"lib": ["es2022", "esnext.disposable"]
}
}
If you don't want, or can't use explicit resource management , you can use const
as usual.
In this case, remember you must call .cleanup()
to dispose of the node.
// #import { launchTestNode };
const launched = await launchTestNode();
/*
Do your things, run your tests, and then call
`launched.cleanup()` to dispose of everything.
*/
launched.cleanup();