モクロート:バインディングイベントを派遣しますか?
-
29-09-2019 - |
質問
モクロートにバインディングイベントを派遣するように依頼することは可能ですか?
たとえば、このクラスを指定してください。
class Person {
[Bindable]
public var name:String;
}
モックが欲しい:
var mockPerson:Person = nice(Person);
派遣する propertyChangeEvent
いつ name
フィールドは変更です。
解決
言及したように、バインディングイベントはのインスタンスです PropertyChangeEvent
, 、使用してインスタンスを作成するだけです PropertyChangeEvent.createUpdateEvent()
そしてそれを使用します .dispatches()
.
そのようです:
mock(person).setter("name").arg(anything())
.dispatches(PropertyChangeEvent.createUpdateEvent(person, "name", oldValue, newValue));
ただし、に注意してください oldValue
と newValue
供給する必要があります。
このシナリオのショートカットを作成して、バインディングが頻繁に使用されていると思われるメリットがあります。唯一のトリッキーな部分は、以前の値を維持することです。
あなたがこれを自分で実装することに取り組みたいなら、私は Answer
と Decorator
クラスとサブクラス。
所属していません StackOverflow