📋

4. 크롤러 단위 테스트 작성

 

fetchDataCrawler.py 테스트 케이스

Test 1

# Check if the response is successful response = requests.get("<http://paullab.synology.me/stock.html>") assert resaponse.status_code ==200

Test 2

# Check if the parsed data is correct assert len(날짜) == len(종가) == len(전일비) == len(거래량)

Test 3

# Check if the parsed data is correct assert 날짜[0] == '2021.08.20' assert 종가[0] == 411000 assert 전일비[0] == -4000 assert 거래량[0] == 270436

Test 4

# Check if the JSON file is created and contains the correct data with open('json/fetchtestdata.json', "r", encoding="UTF-8-sig") as f: data = json.load(f) assert data[0]['날짜'] == '2021.08.20' assert data[0]['종가'] == 411000 assert data[0]['전일비'] == -4000 assert data[0]['거래량'] == 270436

Test 5

# Check if the basic data JSON file is created and contains the correct data with open('json/fetchtestbasicdata.json', "r", encoding="UTF-8-sig") as f: data = json.load(f) assert data[0]['이름'] == '제주코딩베이스캠프' assert data[0]['시가총액'] == '5조 3,419' assert data[0]['시가총액순위'] == '코스피 4위' assert data[0]['상장주식수'] == '12,864,000' assert data[0]['배당수익률'] == 'N/A' assert data[0]['매출'] == 'N/A' assert data[0]['비용'] == 'N/A' assert data[0]['순익'] == 'N/A'
 
 

Test

# fetchDataCrawler.py import json def test_fetchtestbasicdata(): with open('json/fetchtestbasicdata.json', 'r', encoding='UTF-8-sig') as f: data = json.load(f) assert isinstance(data, list) assert len(data) == 1 assert data[0]['이름'] == '제주코딩베이스캠프' def test_fetchtestdata(): with open('json/fetchtestdata.json', 'r', encoding='UTF-8-sig') as f: data = json.load(f) assert isinstance(data, list) assert len(data) > 0 for item in data: assert '날짜' in item assert '종가' in item assert '전일비' in item assert '거래량' in item
첫 번째 테스트 케이스 test_fetchtestbasicdatafetchtestbasicdata.json 파일이 올바르게 작성되어 있고, 예상되는 데이터가 포함되어 있는지 확인합니다. 두 번째 테스트 케이스 test_fetchtestdatafetchtestdata.json 파일이 올바르게 작성되어 있고, 예상되는 데이터가 포함되어 있는지 확인합니다. 필요에 따라 더 많은 테스트 케이스를 추가할 수 있습니다.