current property
TestEnvironment?
current
Returns current test environment.
Example
import 'package:os/os.dart';
void doSomething() {
TestEnvironment.current?.addTearDown(() async {
// ...
});
}
You don't need any changes in test files:
import 'package:test/test.dart';
void main() {
test('doSomething()', () {
doSomething();
});
}
Implementation
static TestEnvironment? get current {
final zone = Zone.current;
final impl = zone[#test.invoker] ?? zone[#test.declarer];
if (impl == null) {
return null;
}
final existingResult = _expando[impl];
if (existingResult != null) {
return existingResult;
}
final result = _TestEnvironment(impl);
_expando[impl] = result;
return result;
}