필자의 기능에 대한 테스트를 작성해야합니다. 지금은 내 반환의 유형을 확인 :테스트에서 반환 값의 유형을 확인하는 방법
assert type(main.get_values(path)) == list
내가 반환되는 값뿐만 아니라 list
하지만 list of strings
경우 어떻게 든 확인할 수 있습니까? 저는 파이썬에 대해 새로운 것이므로 매우 불충분 한 질문 일 수 있습니다.
필자의 기능에 대한 테스트를 작성해야합니다. 지금은 내 반환의 유형을 확인 :테스트에서 반환 값의 유형을 확인하는 방법
assert type(main.get_values(path)) == list
내가 반환되는 값뿐만 아니라 list
하지만 list of strings
경우 어떻게 든 확인할 수 있습니까? 저는 파이썬에 대해 새로운 것이므로 매우 불충분 한 질문 일 수 있습니다.
편집 : quamrana가 언급했듯이 테스트 값은 암시 적으로 유형을 확인하며 내가 일반적으로하는 것입니다. 그러나 여기에 원래 질문에 대한 대답이 있습니다.
많은 언어의 특정 배열 유형과 달리, Python 목록에는 데이터 유형의 조합을 포함 할 수 있습니다. 그러므로 이것을 달성하기위한 가장 명확한 (성가 시지만) 방법은 목록의 각 값을 검사하여 문자열인지 확인하는 것입니다. 예를 들어,
# Check to see if data is a list, as before
assert type(my_data) is list
# Now check each value in your data is a string
for value in my_data:
assert type(value) is str
이이
my_data = ["h", "e", "l", "l", "o"]
같은 데이터를하지만 내가 테스트 보통 것 프로그래머로서이
my_data = ["h", "e", 1, ["nested", "list"], {"dictionary":"here"}]
Mhm, 이미 완료했습니다. 설명 해줘서 고마워. –
처럼 데이터가없는 경우 경우 테스트가 통과하게됩니다 변수의 내용 이것은 암시 적으로 유형을 테스트합니다. – quamrana
@quamrana,'== [ 'test', 'test2']'와 유사합니까? 또는 어떻게 작성해야합니까? –
예, 그렇습니다. 나는 보통'main'에 어떤 데이터를 제공하여 assert에서'main.get_values (path)'를 호출 할 때'[ 'test,'test2 ']' – quamrana