我创建了一个单例类,使用静态方法获取该类的实例,但在单元测试时无法对该类进行模拟。 在Dart中是否有其他方式可以仅创建一个实例并且可以轻松地进行单元测试。
我创建了一个单例类,使用静态方法获取该类的实例,但在单元测试时无法对该类进行模拟。 在Dart中是否有其他方式可以仅创建一个实例并且可以轻松地进行单元测试。
class MySingleton {
static final MySingleton value = MySingleton.();
MySingleton._();
}
class MySingletonHelper {
MySingleton get value => MySingleton.value;
}
@visibleForTesting
的另一种方式,但是单例值不能是final
,写入访问仅受DartAnalyzer限制,而不受编译器限制(我不认为这是一个严重的限制)。import 'package:meta/meta.dart';
class MySingleton {
static MySingleton _value = MySingleton.();
static MySingleton get value => _value;
@visibleForTesting
static set value(MySingleton val) => _value = val;
MySingleton._();
}