使用unittest在Python中比较两个列表

时间:2019-02-08 16:27:20

标签: python list python-unittest

问题:

unittest告诉我我的两个列表相等,我不知道为什么。

要测试的代码:

import random

deck = ['ace', 'ace', 'ace', 'ace', 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4,
        4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10,
        10, 10, 'jack', 'jack', 'jack', 'jack', 'queen', 'queen', 'queen',
        'queen', 'king', 'king', 'king', 'king']


def shuffle_cards(dck: list) -> None:
    random.shuffle(dck)

测试类:

import unittest
import blackjack


class Tester(unittest.TestCase):


    def test_card_shuffler(self):
        original_deck = blackjack.deck
        shuffled_deck = blackjack.deck
        blackjack.shuffle_cards(shuffled_deck)
        failed_message = "Oh no! I failed!"
        self.assertEqual(shuffled_deck, original_deck,  failed_message)


if __name__ == '__main__':
    unittest.main()

unittest输出:

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

研究

How to compare two lists in python?

它不能回答我的问题,因为我知道如何直接比较列表。我想知道为什么unittest返回正在返回的内容。

我已经阅读了assertEqual的单元测试文档和数据结构文档。看来测试应该失败,但事实并非如此。 https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertEqual https://docs.python.org/3/tutorial/datastructures.html

任何帮助将不胜感激。

P.S。我试图问最好的问题。我是编程和这个网站的新手。关于如何改善我的问题的任何建议将不胜感激。

0 个答案:

没有答案