擅长:python、mysql、java
<p>在花了一些时间并测试了不同的场景(在这里和那里放置类似调试的打印语句)之后,我终于找到了它不起作用的原因,<strong>,但它可能没有我认为的那么正确,所以欢迎任何更好的答案</p>
<p>我定义了<code>throttle_classes = [CustomThrottle]</code>等节流类的列表,所以当服务器启动时,它会被导入和评估,所以在我的<code>SomeView</code>类中有一个对<code>CustomThrottle</code>的实际版本和未修改版本的引用,当处理响应时,它会将其用于实例化,因此我的测试失败,但当我像<code>patch.object(CustomThrottle, "allow_request")</code>一样修补它时当视图实际需要检查节流时,它将调用类似<code>CustomThrottle().allow_request(...)</code>(注意对象创建时的括号);对象本身没有类似<code>allow_request</code>的方法,因此它在其类中搜索该方法并正确使用模拟版本</p>