当前位置: 首页 > news >正文

凯里建设局网站广州企业推广网站建设

凯里建设局网站,广州企业推广网站建设,微信公众号绑定网站,潍坊学网站建设note 使用unittest框架进行单元测试是Python标准库的一部分,提供了编写测试用例、测试套件以及运行测试的能力。测试用例是继承自unittest.TestCase的类。在这个类中,你可以定义一系列的方法来测试不同的行为。每个测试方法都应该以test开头。 文章目录…

note

  • 使用unittest框架进行单元测试是Python标准库的一部分,提供了编写测试用例、测试套件以及运行测试的能力。
  • 测试用例是继承自unittest.TestCase的类。在这个类中,你可以定义一系列的方法来测试不同的行为。每个测试方法都应该以test开头。

文章目录

  • note
  • 一、单元测试unittest框架
    • 1. 直接来看一个简单的测试用例
    • 2. 相关断言方法的使用:
    • 3. 运行测试
    • 4. 测试套件和测试运行器
  • 二、一个完整的例子
  • Reference

一、单元测试unittest框架

1. 直接来看一个简单的测试用例

  • 使用unittest框架进行单元测试是Python标准库的一部分,提供了编写测试用例、测试套件以及运行测试的能力。
  • 测试用例是继承自unittest.TestCase的类。在这个类中,你可以定义一系列的方法来测试不同的行为。每个测试方法都应该以test开头。下面代码是一个简单的测试用例
# test-单元测试
import unittest# 子类必须继承unittest.TestCase类
class TestMethod(unittest.TestCase):# 每个测试方法都需要以test开头def test_upper(self):# 检查是否相等self.assertEqual('foo'.upper(), 'FOO')def test_isupper(self):# 验证是否为真/假self.assertTrue('FOO'.isupper())self.assertFalse('foo'.isupper())def test_split(self):s = "happy new year"self.assertEqual(s.split(), ['happy', 'new', 'year'])with self.assertRaises(TypeError):s.split(3)if __name__ == '__main__':unittest.main()

2. 相关断言方法的使用:

  • 使用assertEqual(a, b)来检查ab是否相等。
  • 使用assertTrue(x)assertFalse(x)来验证x是否为真或假。
  • 使用assertRaises(Error, func, *args, **kwargs)来验证是否抛出了期望的异常。比如上面的代码例子,s.split()方法的参数应该是一个字符串,然后传入了3数字所以预期该调用会抛出TypeError异常

3. 运行测试

可以通过以下2种方式运行测试:

  • a. 命令行运行

如果你的测试代码保存在test.py文件中,可以直接在命令行中运行:

python -m unittest test

这会自动发现所有以test开头的方法并运行它们。

  • b. 在代码中运行

如果你想在代码中直接运行测试,可以在文件的最后加上:

if __name__ == '__main__':unittest.main()

4. 测试套件和测试运行器

对于更复杂的测试需求,可以使用unittest.TestSuite来组合多个测试用例,然后用unittest.TextTestRunner来运行这些测试。

def suite():suite = unittest.TestSuite()suite.addTest(TestStringMethods('test_upper'))suite.addTest(TestStringMethods('test_isupper'))return suiteif __name__ == '__main__':runner = unittest.TextTestRunner()runner.run(suite())

unittest框架提供了丰富的断言方法和测试组织方式,帮助开发者构建可靠和可维护的测试套件。通过这种方式,可以有效地进行单元测试,确保代码的质量和稳定性。

二、一个完整的例子

这里引用大模型数据处理库data_juicer的一个栗子,PerplexityFilter是根据计算微调数据的困惑度进行筛选sft数据:

import unittest
from datasets import Dataset
from data_juicer.ops.filter.perplexity_filter import PerplexityFilter
from data_juicer.utils.constant import Fieldsclass PerplexityFilterTest(unittest.TestCase):def _run_perplexity_filter(self, dataset: Dataset, target_list, op):if Fields.stats not in dataset.features:# TODO:# this is a temp solution,# only add stats when calling filter opdataset = dataset.add_column(name=Fields.stats,column=[{}] * dataset.num_rows)dataset = dataset.map(op.compute_stats)dataset = dataset.filter(op.process)dataset = dataset.select_columns(column_names=['text'])res_list = dataset.to_list()self.assertEqual(res_list, target_list)def test_en_case(self):ds_list = [{'text': "Today is Sunday and it's a happy day!"}, {'text':"Today is Sund Sund Sund Sund Sunda and it's a happy day!"}, {'text': 'a v s e c s f e f g a qkc'}, {'text': ',。、„”“«»1」「《》´∶:?!();–—.~’…━〈〉【】%►'}, {'text': 'Do you need a cup of coffee?'}, {'text': 'emoji表情测试下😊,😸31231'}]tgt_list = [{'text': "Today is Sunday and it's a happy day!"}, {'text': 'Do you need a cup of coffee?'}]dataset = Dataset.from_list(ds_list)op = PerplexityFilter(lang='en', max_ppl=900)self._run_perplexity_filter(dataset, tgt_list, op)if __name__ == '__main__':unittest.main()

Reference

[1] python中unittest库 python的unittest框架
[2] https://docs.python.org/zh-cn/3.11/library/unittest.html

http://www.15wanjia.com/news/176559.html

相关文章:

  • 网站排名seo软件自己做网站挂广告
  • 南通做企业网站怎么做免费的网站推广
  • 微网站建设 上海邢台中高风险地区查询
  • 怎么做网站可手机看网站建设唯特和凡科哪个好
  • 建立网站的基本流程安远网络推广公司
  • 贵阳网站改版农产品推广方案
  • 北京景网站建设广告牌设计效果图
  • 做网站找人ps个人网页设计模板图片
  • 网站建设开发协议广州预约小程序开发
  • 本地最好的网站开发建设公司出效果图
  • 哈尔滨建站软件杭州酒店网站建设方案
  • 官网网站建设代做网站公司有哪些
  • 做网站组织结构框架例子网页制作基础教程背景图片
  • 关键词挖掘爱站网做笔记的网站
  • 做pc端网站平台数据百度做网站好用吗
  • 网站搭建环境急招上午半天班女工
  • 南京市玄武区建设局网站2023企业所得税300万以上
  • 做a小视频免费观看网站怎样创建一个国际网站
  • 郑州做网站建设哪家好黄冈网站推广软件
  • 为网站的特色功能设计各种模板江门网站制作计划
  • 一起做网站wordpress退出代码
  • 东莞网站建设科技公司医院网站管理系统
  • 做网站运营php网站挂马
  • 大型门户网站制作流程动图在线制作网站
  • 做it公司网站网站域名备案时间查询
  • 南昌网站关键词推广科技项目的类型有
  • 凡科建站登录唐河企业网站制作价格
  • 公司网站设计欣赏建立石墨碳素网站怎么做
  • 旅游网的网站建设邢台网站建设58
  • 浦口区建设中学网站网站怎么更新内容