import unittest from io import StringIO from unittest.mock import patch import jieba import wordcloud import matplotlib.pyplot as plt from collections import Counter import handle # 单元测试类 class TestFunctions(unittest.TestCase): def setUp(self): # 在每个测试之前运行 self.keywords = [ 'AI', '人工智能', '机器学习', '深度学习', '神经网络', '自动', '算法', '数据科学', '自然语言', '计算机', '人工智能技术', '大数据', '预测分析', '机器视觉', '智能', '计算机', '人工智能应用', '数据分析', '情感计算', 'ai' ] self.sample_comments = [ '人工智能是未来的趋势。', '机器学习算法在自动化中扮演了重要角色。', '深度学习和神经网络的结合使得AI技术更加强大。', '我喜欢学习计算机视觉和数据科学。', '自动驾驶技术还需要进一步发展。', '智能推荐系统可以大大提升用户体验。', '情感计算是自然语言处理的一个重要方向。', '这只是一些无关的评论。' '' ] def test_sort(self): # 测试 sort 函数 expected_output = Counter({ '人工智能是未来的趋势。': 1, '机器学习算法在自动化中扮演了重要角色。': 1, '深度学习和神经网络的结合使得AI技术更加强大。': 1, '我喜欢学习计算机视觉和数据科学。': 1, '自动驾驶技术还需要进一步发展。': 1, '智能推荐系统可以大大提升用户体验。': 1, '情感计算是自然语言处理的一个重要方向。': 1 }) actual_output = handle.sort(self.sample_comments, self.keywords) self.assertEqual(expected_output, actual_output) if __name__ == '__main__': unittest.main()