반응형
테스트 케이스를 작성할 때 두 개의 목록이 순서에 관계없이 동일한 요소를 포함한다고 종종 주장해야합니다.
나는 목록을 세트로 변환하여 이것을하고 있습니다.
이 작업을 수행하는 더 간단한 방법이 있습니까?
수정 :
TestCase.assertItemsEqual
은 Python2.7의 새로운 기능입니다.
해결 방법
a와 b는 순서에 관계없이 같은 번호의 동일한 요소를가집니다.
다음은 요소가 같지만 순서가 다른 두 목록을 비교하는 간단한 예입니다.
여기에 약간의 예제 스크립트가 있습니다.
import unittest
class TestListElements(unittest.TestCase):
def setUp(self):
self.expected = ['foo', 'bar', 'baz']
self.result = ['baz', 'foo', 'bar']
def test_count_eq(self):
"""Will succeed"""
self.assertCountEqual(self.result, self.expected)
def test_list_eq(self):
"""Will fail"""
self.assertListEqual(self.result, self.expected)
if __name__ == "__main__":
unittest.main()
참고 : 비교하려는 목록의 요소가 정렬 가능한지 확인하세요.
참조 페이지 https://stackoverflow.com/questions/12813633
반응형
'파이썬' 카테고리의 다른 글
파이썬 How to extract a single value from JSON response? (0) | 2021.02.04 |
---|---|
파이썬 How do you do a simple "chmod +x" from within python? (0) | 2021.02.04 |
파이썬 Making sure that psycopg2 database connection alive (0) | 2021.02.03 |
파이썬 How to go back to first if statement if no choices are valid (0) | 2021.02.03 |
파이썬 정수 나눗셈은 float를 산출합니다. (0) | 2021.02.03 |
댓글