擅长:python、mysql、java
<p>我认为测试您正在使用的服务可能是浪费精力。服务应该自己测试,并最终负责达到100%的正常运行时间。您所能做的就是创建结构良好的代码,以便于测试所使用的服务。在</p>
<p>我认为这个术语叫做依赖注入</p>
<p>如果您使用的是一个api,并且他们提供了一个python库,那么您可以模仿他们的python库。这可以使用内置的<a href="http://docs.python.org/dev/library/unittest.mock" rel="nofollow noreferrer">mock</a>库来实现(我认为它在标准库python3.x中)</p>
<p>一个快速的例子说明如何做到这一点:</p>
<pre><code>class AnAPILibraryProvidedByEmailServiceProvider:
def send_mail(address, message):
# make some rest calls to their service
return 200 # success mail code
your_function(email_service, email, message):
email_service.send_mail(email, message)
</code></pre>
<p>通过将服务作为参数,很容易模拟服务</p>
^{pr2}$
<p>您可以创建返回各种响应的测试服务,并确保代码不会中断。在</p>
<p>如果您确实需要测试电子邮件的传递,python在标准库中提供了<code>smtp</code>,您可以使用它以编程方式访问电子邮件服务器。。在</p>