我正在学习robotlegs框架,但是这个问题也是我想到的一般性。
我有一个 Mediator 类,它侦听 View 中按钮上的事件,并在该事件上调度一个包含 VO 的信号,该信号包含 View 中两个 TextField 对象的属性。
下面是中介类。
button 是一个私有变量,在 View 中只有 getter 而没有 setter。
我的问题是,我将如何对这门课进行单元测试?1. 检查事件是否发生,Signal 正在被分派... 2. 当信号被分派时,它是否包含正确的 VO
我知道我需要使用 Mock,并且我正在使用 mockolate,但我正在转圈,因为我不知道如何从视图类的按钮中模拟已调度的事件?
感谢帮助
public class LoginFormMediator extends Mediator {
//---------------------------------------------------------------
// Public variables
//---------------------------------------------------------------
[Inject]
public var view:LoginFormView;
[Inject]
public var authorizationSignal:AuthorizationSignal;
//---------------------------------------------------------------
// Public Functions
//---------------------------------------------------------------
override public function initialize():void
{
view.button.addEventListener(MouseEvent.CLICK,onLogin,false,0,true);
}
//---------------------------------------------------------------
// Private methods
//---------------------------------------------------------------
private function onLogin(event:MouseEvent):void {
var userInfo:UserInfo = new UserInfo(view.usernameField.text,view.passwordField.text);
authorizationSignal.dispatch(userInfo);
}
}
}