为什么在MotorEngine龙卷风中保存新记录时使用断言?

时间:2015-12-11 20:14:45

标签: python mongodb tornado tornado-motor motorengine

想知道在创建新记录时在MotorEngine的回调中使用Assert有什么意义。我没有得到它,文件不清楚。告诉员工在回调中被称为贝尔纳多的目标是什么?您甚至没有将值传递给函数...

MotorEngine是Tornado和MongoDB的异步ORM。 https://motorengine.readthedocs.org/en/latest/getting-started.html#creating-a-new-instance

非常感谢!

def create_employee():
    emp = Employee(first_name="Bernardo", last_name="Heynemann", employee_id=1532)
    emp.save(handle_employee_saved)

def handle_employee_saved(emp):
    try:
        assert emp is not None
        assert emp.employee_id == 1532
    finally:
        io_loop.stop()

io_loop.add_timeout(1, create_employee)
io_loop.start()

1 个答案:

答案 0 :(得分:1)

我相信文档正在使用这些断言来向您展示回调接收的值。它可以很容易地发表评论:

# emp is an object with employee_id of 1532

...但doctest也测试了断言,以确保文档保持最新。在您的实际应用程序中,您根本不会使用这样的断言。