单元测试的覆盖范围似乎包括导入的库

我正在为我为其编写测试的不同项目实现覆盖。通常,我只是在项目中的文件上获得结果,但是对于我的一个项目,它给了我很长的文件列表。在查看了路径之后,它似乎包含了我要在代码中导入的库的所有源文件。

是我以前从未注意到过的这种正常行为吗?还是应该让Coverage忽略导入的库?

编辑:coverage run --source . main.py args似乎给了我预期的结果,但是我仍然想知道为什么会这样。 每次运行保险时都必须包括--source吗?

$ coverage run main.py args
$ coverage report

Name                                                                                                               Stmts   Miss  Cover
--------------------------------------------------------------------------------------------------------------------------------------
/home/flying_scorpio/.local/lib/python3.6/site-packages/OpenSSL/SSL.py                                               917    670    27%
/home/flying_scorpio/.local/lib/python3.6/site-packages/OpenSSL/__init__.py                                            4      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/OpenSSL/_util.py                                              53     32    40%
/home/flying_scorpio/.local/lib/python3.6/site-packages/OpenSSL/crypto.py                                           1155    923    20%
/home/flying_scorpio/.local/lib/python3.6/site-packages/OpenSSL/version.py                                            10      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/__init__.py                                         3      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_elliptic_curve.py                                 90     46    49%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_errors.py                                         12      7    42%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_ffi.py                                            13      3    77%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_int.py                                            54     42    22%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_iri.py                                           140    124    11%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_ordereddict.py                                    91     88     3%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_perf/__init__.py                                   0      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_perf/_big_num_ctypes.py                           31      3    90%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_teletex_codec.py                                  26      7    73%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/_types.py                                          23     13    43%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/algos.py                                          273    159    42%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/core.py                                          1967   1599    19%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/keys.py                                           353    234    34%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/parser.py                                          98     86    12%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/util.py                                           287    220    23%
/home/flying_scorpio/.local/lib/python3.6/site-packages/asn1crypto/version.py                                          3      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/__about__.py                                     10      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/__init__.py                                       3      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/exceptions.py                                    34      4    88%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/__init__.py                                2      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/_oid.py                                   32     12    62%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/__init__.py                       7      4    43%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/interfaces.py                    85      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/__init__.py               3      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/aead.py                  89     78    12%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/backend.py             1267   1042    18%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/ciphers.py              109     90    17%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/cmac.py                  46     33    28%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/decode_asn1.py          422    344    18%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/dh.py                   153    122    20%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/dsa.py                  150    108    28%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/ec.py                   173    130    25%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/encode_asn1.py          370    320    14%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/hashes.py                43     31    28%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/hmac.py                  45     32    29%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/ocsp.py                 208    142    32%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/rsa.py                  244    198    19%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/utils.py                 36     27    25%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/x25519.py                65     46    29%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/x448.py                  57     39    32%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/backends/openssl/x509.py                 331    245    26%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/bindings/__init__.py                       1      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/bindings/openssl/__init__.py               1      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py          84     38    55%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/bindings/openssl/binding.py               90     26    71%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/__init__.py                     1      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py         11      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py               87     37    57%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py             106     48    55%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py              218     58    73%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py          46     20    57%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py             162    102    37%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py            26     13    50%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py           28     12    57%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py             27     12    56%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py             3      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py         104     30    71%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/ciphers/base.py               124     71    43%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/ciphers/modes.py              118     38    68%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/constant_time.py               15      8    47%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/hashes.py                     146     37    75%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/__init__.py                 7      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py                  37     24    35%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/mac.py                          9      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/serialization/__init__.py       5      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/serialization/base.py          48      9    81%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/hazmat/primitives/serialization/ssh.py           72     57    21%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/utils.py                                        106     35    67%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/__init__.py                                 70      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/base.py                                    288    177    39%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/certificate_transparency.py                 15      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/extensions.py                              845    470    44%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/general_name.py                            196    116    41%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/name.py                                    128     76    41%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/ocsp.py                                    167     94    44%
/home/flying_scorpio/.local/lib/python3.6/site-packages/cryptography/x509/oid.py                                      93      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/idna/__init__.py                                               2      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/idna/core.py                                                 280    242    14%
/home/flying_scorpio/.local/lib/python3.6/site-packages/idna/idnadata.py                                               4      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/idna/intranges.py                                             29     24    17%
/home/flying_scorpio/.local/lib/python3.6/site-packages/idna/package_data.py                                           1      0   100%
/home/flying_scorpio/.local/lib/python3.6/site-packages/lxml/__init__.py                                              10      9    10%
/home/flying_scorpio/.local/lib/python3.6/site-packages/six.py                                                       472    221    53%
main.py                                                                                                               16      3    81%
wikipedia_acronym_dictionary.py                                                                                       48      2    96%
/usr/lib/python3/dist-packages/bs4/__init__.py                                                                       270    119    56%
/usr/lib/python3/dist-packages/bs4/builder/__init__.py                                                               145     30    79%
/usr/lib/python3/dist-packages/bs4/builder/_html5lib.py                                                              252    195    23%
/usr/lib/python3/dist-packages/bs4/builder/_htmlparser.py                                                            167    129    23%
/usr/lib/python3/dist-packages/bs4/builder/_lxml.py                                                                  146     53    64%
/usr/lib/python3/dist-packages/bs4/dammit.py                                                                         258    188    27%
/usr/lib/python3/dist-packages/bs4/element.py                                                                        984    599    39%
/usr/lib/python3/dist-packages/certifi/__init__.py                                                                     2      0   100%
/usr/lib/python3/dist-packages/certifi/core.py                                                                        11      3    73%
/usr/lib/python3/dist-packages/chardet/__init__.py                                                                    11      7    36%
/usr/lib/python3/dist-packages/chardet/big5freq.py                                                                     3      0   100%
/usr/lib/python3/dist-packages/chardet/big5prober.py                                                                  14      6    57%
/usr/lib/python3/dist-packages/chardet/chardistribution.py                                                           117     83    29%
/usr/lib/python3/dist-packages/chardet/charsetgroupprober.py                                                          70     61    13%
/usr/lib/python3/dist-packages/chardet/charsetprober.py                                                               50     36    28%
/usr/lib/python3/dist-packages/chardet/codingstatemachine.py                                                          27     18    33%
/usr/lib/python3/dist-packages/chardet/compat.py                                                                      10      4    60%
/usr/lib/python3/dist-packages/chardet/cp949prober.py                                                                 14      6    57%
/usr/lib/python3/dist-packages/chardet/enums.py                                                                       34      1    97%
/usr/lib/python3/dist-packages/chardet/escprober.py                                                                   56     45    20%
/usr/lib/python3/dist-packages/chardet/escsm.py                                                                       17      0   100%
/usr/lib/python3/dist-packages/chardet/eucjpprober.py                                                                 47     34    28%
/usr/lib/python3/dist-packages/chardet/euckrfreq.py                                                                    3      0   100%
/usr/lib/python3/dist-packages/chardet/euckrprober.py                                                                 14      6    57%
/usr/lib/python3/dist-packages/chardet/euctwfreq.py                                                                    3      0   100%
/usr/lib/python3/dist-packages/chardet/euctwprober.py                                                                 14      6    57%
/usr/lib/python3/dist-packages/chardet/gb2312freq.py                                                                   3      0   100%
/usr/lib/python3/dist-packages/chardet/gb2312prober.py                                                                14      6    57%
/usr/lib/python3/dist-packages/chardet/hebrewprober.py                                                                74     48    35%
/usr/lib/python3/dist-packages/chardet/jisfreq.py                                                                      3      0   100%
/usr/lib/python3/dist-packages/chardet/jpcntx.py                                                                      80     61    24%
/usr/lib/python3/dist-packages/chardet/langbulgarianmodel.py                                                           5      0   100%
/usr/lib/python3/dist-packages/chardet/langcyrillicmodel.py                                                           13      0   100%
/usr/lib/python3/dist-packages/chardet/langgreekmodel.py                                                               5      0   100%
/usr/lib/python3/dist-packages/chardet/langhebrewmodel.py                                                              3      0   100%
/usr/lib/python3/dist-packages/chardet/langthaimodel.py                                                                3      0   100%
/usr/lib/python3/dist-packages/chardet/langturkishmodel.py                                                             3      0   100%
/usr/lib/python3/dist-packages/chardet/latin1prober.py                                                                50     29    42%
/usr/lib/python3/dist-packages/chardet/mbcharsetprober.py                                                             42     33    21%
/usr/lib/python3/dist-packages/chardet/mbcsgroupprober.py                                                             14      3    79%
/usr/lib/python3/dist-packages/chardet/mbcssm.py                                                                      41      0   100%
/usr/lib/python3/dist-packages/chardet/sbcharsetprober.py                                                             73     60    18%
/usr/lib/python3/dist-packages/chardet/sbcsgroupprober.py                                                             19      8    58%
/usr/lib/python3/dist-packages/chardet/sjisprober.py                                                                  47     34    28%
/usr/lib/python3/dist-packages/chardet/universaldetector.py                                                          124    104    16%
/usr/lib/python3/dist-packages/chardet/utf8prober.py                                                                  41     29    29%
/usr/lib/python3/dist-packages/chardet/version.py                                                                      2      0   100%
/usr/lib/python3/dist-packages/html5lib/__init__.py                                                                    7      0   100%
/usr/lib/python3/dist-packages/html5lib/_inputstream.py                                                              560    477    15%
/usr/lib/python3/dist-packages/html5lib/_tokenizer.py                                                               1234   1148     7%
/usr/lib/python3/dist-packages/html5lib/_trie/__init__.py                                                              8      1    88%
/usr/lib/python3/dist-packages/html5lib/_trie/_base.py                                                                23     16    30%
/usr/lib/python3/dist-packages/html5lib/_trie/datrie.py                                                               31     29     6%
/usr/lib/python3/dist-packages/html5lib/_trie/py.py                                                                   46     29    37%
/usr/lib/python3/dist-packages/html5lib/_utils.py                                                                     66     44    33%
/usr/lib/python3/dist-packages/html5lib/constants.py                                                                  39      0   100%
/usr/lib/python3/dist-packages/html5lib/html5parser.py                                                              1552   1514     2%
/usr/lib/python3/dist-packages/html5lib/serializer.py                                                                205    158    23%
/usr/lib/python3/dist-packages/html5lib/treebuilders/__init__.py                                                      22     18    18%
/usr/lib/python3/dist-packages/html5lib/treebuilders/base.py                                                         202    156    23%
/usr/lib/python3/dist-packages/html5lib/treewalkers/__init__.py                                                       78     70    10%
/usr/lib/python3/dist-packages/requests/__init__.py                                                                   50      7    86%
/usr/lib/python3/dist-packages/requests/__version__.py                                                                10      0   100%
/usr/lib/python3/dist-packages/requests/_internal_utils.py                                                            16      3    81%
/usr/lib/python3/dist-packages/requests/adapters.py                                                                  214     98    54%
/usr/lib/python3/dist-packages/requests/api.py                                                                        22      8    64%
/usr/lib/python3/dist-packages/requests/auth.py                                                                      162    129    20%
/usr/lib/python3/dist-packages/requests/certs.py                                                                       4      1    75%
/usr/lib/python3/dist-packages/requests/compat.py                                                                     37     15    59%
/usr/lib/python3/dist-packages/requests/cookies.py                                                                   236    130    45%
/usr/lib/python3/dist-packages/requests/exceptions.py                                                                 34      6    82%
/usr/lib/python3/dist-packages/requests/hooks.py                                                                      15      6    60%
/usr/lib/python3/dist-packages/requests/models.py                                                                    443    211    52%
/usr/lib/python3/dist-packages/requests/packages.py                                                                    6      0   100%
/usr/lib/python3/dist-packages/requests/sessions.py                                                                  275     52    81%
/usr/lib/python3/dist-packages/requests/status_codes.py                                                                8      0   100%
/usr/lib/python3/dist-packages/requests/structures.py                                                                 40      9    78%
/usr/lib/python3/dist-packages/requests/utils.py                                                                     400    264    34%
/usr/lib/python3/dist-packages/simplejson/__init__.py                                                                 80     57    29%
/usr/lib/python3/dist-packages/simplejson/compat.py                                                                   34     15    56%
/usr/lib/python3/dist-packages/simplejson/decoder.py                                                                 228    181    21%
/usr/lib/python3/dist-packages/simplejson/encoder.py                                                                 387    332    14%
/usr/lib/python3/dist-packages/simplejson/errors.py                                                                   29     23    21%
/usr/lib/python3/dist-packages/simplejson/raw_json.py                                                                  3      1    67%
/usr/lib/python3/dist-packages/simplejson/scanner.py                                                                  64     53    17%
/usr/lib/python3/dist-packages/urllib3/__init__.py                                                                    38     12    68%
/usr/lib/python3/dist-packages/urllib3/_collections.py                                                               177     87    51%
/usr/lib/python3/dist-packages/urllib3/connection.py                                                                 160     64    60%
/usr/lib/python3/dist-packages/urllib3/connectionpool.py                                                             317    131    59%
/usr/lib/python3/dist-packages/urllib3/contrib/__init__.py                                                             0      0   100%
/usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py                                                          230    215     7%
/usr/lib/python3/dist-packages/urllib3/contrib/socks.py                                                               71     62    13%
/usr/lib/python3/dist-packages/urllib3/exceptions.py                                                                  96     21    78%
/usr/lib/python3/dist-packages/urllib3/fields.py                                                                      69     56    19%
/usr/lib/python3/dist-packages/urllib3/filepost.py                                                                    39     27    31%
/usr/lib/python3/dist-packages/urllib3/packages/__init__.py                                                            8      2    75%
/usr/lib/python3/dist-packages/urllib3/packages/backports/__init__.py                                                  0      0   100%
/usr/lib/python3/dist-packages/urllib3/packages/backports/makefile.py                                                 36     32    11%
/usr/lib/python3/dist-packages/urllib3/packages/ssl_match_hostname/__init__.py                                        11      6    45%
/usr/lib/python3/dist-packages/urllib3/poolmanager.py                                                                167     76    54%
/usr/lib/python3/dist-packages/urllib3/request.py                                                                     38     26    32%
/usr/lib/python3/dist-packages/urllib3/response.py                                                                   308    156    49%
/usr/lib/python3/dist-packages/urllib3/util/__init__.py                                                               10      0   100%
/usr/lib/python3/dist-packages/urllib3/util/connection.py                                                             66     18    73%
/usr/lib/python3/dist-packages/urllib3/util/request.py                                                                45     33    27%
/usr/lib/python3/dist-packages/urllib3/util/response.py                                                               32     17    47%
/usr/lib/python3/dist-packages/urllib3/util/retry.py                                                                 150     97    35%
/usr/lib/python3/dist-packages/urllib3/util/selectors.py                                                             363    245    33%
/usr/lib/python3/dist-packages/urllib3/util/ssl_.py                                                                  126     69    45%
/usr/lib/python3/dist-packages/urllib3/util/timeout.py                                                                59     25    58%
/usr/lib/python3/dist-packages/urllib3/util/url.py                                                                   107     47    56%
/usr/lib/python3/dist-packages/urllib3/util/wait.py                                                                   16      3    81%
/usr/lib/python3/dist-packages/webencodings/__init__.py                                                              119     77    35%
/usr/lib/python3/dist-packages/webencodings/labels.py                                                                  1      0   100%
--------------------------------------------------------------------------------------------------------------------------------------
TOTAL
$ coverage run --source . main.py args
$ coverage report

Name                              Stmts   Miss  Cover
-----------------------------------------------------
acronyms_to_lookup.py                 1      1     0%
main.py                              16      3    81%
tests.py                             22     22     0%
wikipedia_acronym_dictionary.py      48      2    96%
-----------------------------------------------------
TOTAL                                87     28    68%
rainlinlin 回答:单元测试的覆盖范围似乎包括导入的库

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3135104.html

大家都在问