在一个“public”方法上同时使用@protected和@visibleForTesting,或者代替原来的private方法,或者作为一个...
) { if (entry.listener == listener) { entry.unlink(); return; } } } @mustCallSuper void dispose() { _listeners = null; } @protected @visibleForTesting void notifyListeners() { if (_listeners!.isEmpty) return; final List<_ListenerEntry> localListene...
@visibleForTesting void notifyListeners() { if (_listeners!.isEmpty) return; final List<_ListenerEntry> localListeners = List<_ListenerEntry>.from(_listeners!); for (final _ListenerEntry entry in localListeners) { try { if (entry.list != null) entry.listener(); } catch (exception, stack...
在一个“public”方法上同时使用@protected和@visibleForTesting,或者代替原来的private方法,或者作为一个...
@visibleForTesting void markNeedsAddToScene() { // Already marked. Short-circuit. if (_needsAddToScene) { return; } _needsAddToScene = true; } @override void updateSubtreeNeedsAddToScene() { super.updateSubtreeNeedsAddToScene();
@VisibleForTesting public void handlePlatformMessage( @NonNull final String channel, ByteBuffer message, final int replyId, final long messageData) { if (platformMessageHandler != null) { platformMessageHandler.handleMessageFromDart(channel, message, replyId, messageData); } else { nativeCleanupMessa...
@visibleForTesting final methodChannel = const MethodChannel('texture_image'); @override Future<int?> initTextureID async { final result = await methodChannel.invokeMethod('initTextureID'); returnresult['textureID']; } @override Future<Size> loadByTextureID(String url, int textureID) async { ...
mixin ObserverWidgetMixin on Widget{StringgetName();ReactiveContextgetContext()=>mainContext;@visibleForTesting// createReaction方法在ObserverElementMixin中调用// 创建reaction,状态改变后会调用reactionReactioncreateReaction(Function()onInvalidate,{Function(Object,Reaction)?onError,})=>ReactionImpl(getContext()...
@visibleForTesting void markNeedsAddToScene() { // Already marked. Short-circuit. if (_needsAddToScene) { return; } _needsAddToScene = true; } @override void updateSubtreeNeedsAddToScene() { super.updateSubtreeNeedsAddToScene();
这块可以考虑加@visibleForTesting注解,但是这个注解也只有提醒功能,无法影响编译。 其次是增加了setTestInstance,并且限制只能在测试环境使用。 2、单例代理模式 UserManager可以使用标准的单例模式不做任何修改。 这样就避免了破坏其封装,任何地方都无法获取到其它实例。