Idd 2505.2

unittest基本方法

unittest 提供了一个基于类的单元测试框架。核心思想是:写测试类继承 unittest.TestCase,在类中写以 test_ 开头的方法即可。

常用方法和函数如下:

用来检查结果是否符合预期:

  • self.assertEqual(a, b):判断 a == b
  • self.assertNotEqual(a, b):判断 a != b
  • self.assertTrue(x):判断 x is True
  • self.assertFalse(x):判断 x is False
  • self.assertIs(a, b):判断 a is b(同一对象)
  • self.assertIsNot(a, b):判断 a is not b
  • self.assertIsNone(x):判断 x is None
  • self.assertIsNotNone(x):判断 x is not None
  • self.assertIn(a, b):判断 a in b
  • self.assertNotIn(a, b):判断 a not in b
  • self.assertAlmostEqual(a, b, places=7):判断 a ≈ b,小数点后 places
  • self.assertRaises(exc, func, *args, **kw):检查函数是否抛出指定异常

在运行测试前后自动执行:

  • setUp():每个测试方法运行前都会执行
  • tearDown():每个测试方法运行后都会执行
  • setUpClass(cls):所有测试开始前运行一次(类方法)
  • tearDownClass(cls):所有测试结束后运行一次(类方法)

现在的工作

1.学习unittest在S2Generator里到底该怎么测试

2.为S2Generator的激励函数写测试

目前的问题

由于数据生成的随机性,测试只能保证数据大小、类型以及是否正常运行,具体的value是否正确还无法判断。

由于测试的东西非常多所以当前的目标还是把代码的目标看懂并完成测试,然后到学校进行数据的生成。

更新时间:

留下评论