import unittest from unittest.mock import patch, Mock from detection.requirements_detection import fetch_html, parse_html, format_results # Assuming the functions from your provided code are imported here # from your_module import fetch_html, parse_html, format_results, ... # 测试网页抓取和结果报告的测试类 class TestWebScrapingAndReporting(unittest.TestCase): def test_fetch_html_success(self): """测试fetch_html在请求成功时返回正确的HTML内容。""" with patch("requests.get") as mocked_get: mocked_get.return_value.status_code = 200 mocked_get.return_value.text = "success" url = "http://example.com" result = fetch_html(url) self.assertEqual(result, "success") def test_fetch_html_failure(self): """测试fetch_html在请求失败时返回None。""" with patch("requests.get") as mocked_get: mocked_get.return_code.status_code = 404 url = "http://example.com" result = fetch_html(url) self.assertIsNone(result) def test_parse_html(self): """测试parse_html能准确地解析HTML并提取预期的数据。""" html_content = """
| Link1Span1 | |
| Link2Span2 |