test_descriptor 2.0.1 test_descriptor: ^2.0.1 copied to clipboard
An API for defining and verifying directory structures.
The test_descriptor
package provides a convenient, easy-to-read API for
defining and verifying directory structures in tests.
Usage #
We recommend that you import this library with the d
prefix. The
d.dir()
and d.file()
functions are the main entrypoints. They
define a filesystem structure that can be created using
Descriptor.create()
and verified using
Descriptor.validate()
. For example:
import 'dart:io';
import 'package:test_descriptor/test_descriptor.dart' as d;
void main() {
test("Directory.rename", () async {
await d.dir("parent", [
d.file("sibling", "sibling-contents"),
d.dir("old-name", [
d.file("child", "child-contents")
])
]).create();
await new Directory("${d.sandbox}/parent/old-name")
.rename("${d.sandbox}/parent/new-name");
await d.dir("parent", [
d.file("sibling", "sibling-contents"),
d.dir("new-name", [
d.file("child", "child-contents")
])
]).validate();
});
}
By default, descriptors create entries in a temporary sandbox directory,
d.sandbox
. A new sandbox is automatically created the first time
you create a descriptor in a given test, and automatically deleted once the test
finishes running.
This package is term_glyph
aware. It will decide whether to use
ASCII or Unicode glyphs based on the glyph.ascii
attribute.