我正在考虑使用 Python 来教授入门编程,并且我正在寻找一个轻量级的单元测试框架。我查看了 unittest,据我所知,它看起来非常非轻量级。
例如,这是我希望能够写的内容:
import unittest
def f(x):
return x+2
checkEqual(f(3),5)
...没有别的。为了向您展示我的出发点,这就是我用 Racket 的初级学生语言编写的内容:
(define (f x)
(+ x 2))
(check-expect (f 3) 5)
...就是这样。肯定有人编写了这个工具,但我只是没有找到它?
(提前为任何挑衅的行为道歉。这是一个严肃的问题。)
自编辑:
在任何人指出这一点之前:是的,我可以写 def checkEqual(a,b): print(a==b) ;我正在寻找更多的东西:它应该能够检查带有公差的数字,它应该支持只打印失败的测试用例,它应该能够告诉你有多少测试用例失败了。再一次,我有信心可以编写这段代码;我只是想避免重新发明轮子。
最佳答案
我会推荐 Doctest .
您的示例如下所示:
def f(x):
"""
>>> f(3)
5
"""
return x + 2
为什么?
- 非常简单:“当我运行这个东西时,我应该得到这个答案”
- 它适用于功能级别 - 这可能允许您甚至在上课之前引入测试
- 反射(reflect)交互式 Python 体验。
关于python - python中的轻量级单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10437650/