Python unittest不矛盾

时间:2017-09-27 19:35:19

标签: python python-unittest

所以我想测试一下我知道可行的代码片段:

def find_primes(n):
    primeList = []
    for x in range(2, n+1):
        for y in range(2, x):
            if x % y == 0:
                break
        else:
            primeList.append(x)
    print(primeList)

这是为了找到特定范围内的素数列表,从2到我想要的任何东西。 在这种情况下,如果我尝试find_primes(10),我会得到[2, 3, 5, 7]

但是当我尝试单元测试时:

import unittest
class PNumTest(unittest.TestCase):

    def test_find_prime_number(self):
        self.assertEqual(find_primes(10), [2, 3, 5, 7])

unittest.main()

它显示:

[2, 3, 5, 7]
[2, 3, 5, 7]
F
======================================================================
FAIL: test_find_prime_number (__main__.PnumTEST)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "main.py", line 17, in test_find_prime_number
    self.assertEqual(find_primes(10), [2, 3, 5, 7])
AssertionError: None != [2, 3, 5, 7]

----------------------------------------------------------------------
Ran 1 test in 0.002s

我试图了解出了什么问题。

0 个答案:

没有答案