如何指定wx.MouseEvent的属性?

时间:2013-08-10 15:51:05

标签: unit-testing wxpython

我正在尝试为我的一个wxPython类编写PyUnit单元测试,该类接收鼠标滚轮事件。单元测试用

生成鼠标事件
event = wx.MouseEvent(mouseType=wx.wxEVT_MOUSEWHEEL)

不幸的是,它产生了WheelRotation = 0的鼠标滚轮事件。 MouseEvent类阻止我手动设置非零轮转,这反过来又阻止我测试我的事件处理程序的重要情况。

有没有办法合成生成非零旋转的鼠标滚轮事件(可以在单元测试中使用)?

1 个答案:

答案 0 :(得分:0)

不是100%确定这是一种有效的方法,但是:

>>> import wx
>>> event = wx.MouseEvent(mouseType=wx.wxEVT_MOUSEWHEEL)
>>> event.WheelRotation = 22
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: can't set attribute
>>> event.m_wheelRotation = 22
>>> event.WheelRotation
22                                                                             
>>> event.m_wheelRotation = 25
>>> event.WheelRotation                                                 
25                                                                             
>>>