假设我有一个枚举来表示一些颜色;
enum MyColor { blue, red, green }
为了不重复测试用例,我可以写TestVariant
如下;
class ColorVariant extends TestVariant<MyColor> {
@override
String describeValue(MyColor value) {
return value.toString();
}
@override
Future<Object?> setUp(MyColor value) {
// Do setup here
return Future.value(null);
}
@override
Future<void> tearDown(MyColor value, covariant Object? memento) {
// Do teardown here
return Future.value();
}
@override
Iterable<MyColor> get values => MyColor.values;
}
最后下面有个对应的testWidget函数;
testWidgets(
'Should reflect Color',
(tester) async {
// Test block here..
},
variant: ColorVariant(),
);
所以实际的问题是,如何在测试块中获取相关的MyColor ?