擅长:python、mysql、java
<p>我将选择另一种替代方法,即从覆盖率报告中排除<code>if __name__ == '__main__'</code>,当然,只有在测试中已经有main()函数的测试用例时,才能这样做。</p>
<p>至于为什么我选择排除而不是为整个脚本编写一个新的测试用例,是因为如果如我所述,您已经有了一个用于<code>main()</code>函数的测试用例,那么您为脚本添加另一个测试用例(仅用于具有100%覆盖率)将只是一个重复的测试用例。</p>
<p>对于如何排除<code>if __name__ == '__main__'</code>,可以编写覆盖率配置文件并在节报告中添加:</p>
<pre><code>[report]
exclude_lines =
if __name__ == .__main__.:
</code></pre>
<p>有关覆盖率配置文件的详细信息可以找到<a href="http://nedbatchelder.com/code/coverage/config.html" rel="noreferrer">here</a>。</p>
<p>希望这能有所帮助。</p>