联合测试中的错误。Python模板发布订阅
我有一个任务: 需要创建实现发布-订阅模板并包含两个方法的发射器类: 在(事件、处理程序)上- 将处理程序绑定到事件“event” 发出(事件、数据)—— 生成事件“event”,调用与此事件关联的所有处理程序(如果有),并将它们作为“data”参数传递 我用Python做了如下工作:联合测试中的错误。Python模板发布订阅,python,Python,我有一个任务: 需要创建实现发布-订阅模板并包含两个方法的发射器类: 在(事件、处理程序)上- 将处理程序绑定到事件“event” 发出(事件、数据)—— 生成事件“event”,调用与此事件关联的所有处理程序(如果有),并将它们作为“data”参数传递 我用Python做了如下工作: # -*- coding: utf-8 -*- class Emitter: def __init__(self): self._handlers = {} def o
# -*- coding: utf-8 -*-
class Emitter:
def __init__(self):
self._handlers = {}
def on(self, signal, handler):
self._handlers[signal] = handler
def emit(self, signal, data):
func = self._handlers.get(signal)
if func is None:
raise ValueError('Wrong emit key')
return func(data)
def print_connected(data):
print('first: {0}'.format(data))
def print_disconnected(data):
print('second: {0}'.format(data))
if __name__ == '__main__':
emitter = Emitter()
emitter.on('connect', print_connected)
emitter.on('disconnect', print_disconnected)
emitter.emit('connect', 'http-server')
# prints to console:
# > We have been connected to http-server
emitter.emit('connect', 'websocket')
# prints to console:
# > We have been connected to websocket
emitter.emit('disconnect', 'websocket')
# prints to console:
# > We disconnected from websocket
emitter.emit('disconnect', 'http-server')
# prints to console:
# > We disconnected from http-server
这些任务的完成应该伴随着提供给我的单元测试。通过测试代码的3/5,发出一个错误和一个失败。这是:
带有单元测试的GitHub存储库链接,以及用于解决此任务的模板
Unite测试位于文件夹“test”->“task-3”中,任务模板位于“task-3”中。问题似乎出在模拟调用的单元测试代码中,而不是实际代码中。永远不要发布外部链接(除了案例引用stackoverflow中的现有答案外)-没有人会帮你去那里。在这里发布,否则没有人会看到问题的根源。问题出在单元测试代码中的某个地方,所以在这里发布它。