我理解它会在每个测试方法之后调用,但有人可以明确地告诉我,如果测试方法抛出异常,它是否会被调用吗?
我使用公司中不同组提供的第三方库(用C++编写)遇到了这个问题.
在Observer的析构函数中,它将自己从它所订阅的所有可观察对象中分离出来,这部分对我来说是有意义的.但是在Observable的析构函数中,它会检查observable是否有任何仍然在其订阅者列表中的观察者.如果是这样,则抛出错误.
我要说的是它故意在析构函数中抛出一个错误.有人可以试着向我解释为什么观察者应该期望没有观察者比自己活得更久,或者这只是一个糟糕的设计.如果这是一个糟糕的设计,当我们处于观察者超过观察者的情况下,是否有好的方法来处理它?