如何使用服务范围编写测试
How to write tests using the service scope
我的应用程序正在访问服务范围 (package:gcloud/service_scope.dart
) 中的对象,例如 storageService
和我在 ss.register()
.
范围内放置的其他服务
现在我想对访问此范围的函数进行单元测试,并使用我想放入服务范围的模拟对象。
唯一的方法是为每次测试注册它们,如下所示:
var withServiceScope = (callback()) => ss.fork(() {
// Register all services here
return callback();
});
test('the description', () => withServiceScope(() async {
// Call my function that can now access the service scope
}));
或者是否有方法允许我在 setUp()
函数中执行此操作,这样我就不需要为每个测试添加这一行?
这可能会使编写测试更简单(代码未测试)
import 'package:test/test.dart' as t;
import 'package:test/test.dart' show group;
var withServiceScope = (callback()) => ss.fork(() {
// Register all services here
return callback();
});
test(String description, Function testFunction) {
t.test(description, () => withServiceScope(() async {
testFunction();
}));
}
main() {
test('the description', () async {
// Call my function that can now access the service scope
}));
}
我的应用程序正在访问服务范围 (package:gcloud/service_scope.dart
) 中的对象,例如 storageService
和我在 ss.register()
.
现在我想对访问此范围的函数进行单元测试,并使用我想放入服务范围的模拟对象。
唯一的方法是为每次测试注册它们,如下所示:
var withServiceScope = (callback()) => ss.fork(() {
// Register all services here
return callback();
});
test('the description', () => withServiceScope(() async {
// Call my function that can now access the service scope
}));
或者是否有方法允许我在 setUp()
函数中执行此操作,这样我就不需要为每个测试添加这一行?
这可能会使编写测试更简单(代码未测试)
import 'package:test/test.dart' as t;
import 'package:test/test.dart' show group;
var withServiceScope = (callback()) => ss.fork(() {
// Register all services here
return callback();
});
test(String description, Function testFunction) {
t.test(description, () => withServiceScope(() async {
testFunction();
}));
}
main() {
test('the description', () async {
// Call my function that can now access the service scope
}));
}