python - 使用 doctesting 对类内部定义的方法进行单元测试
问题描述
我需要定义: 1. ' init ' 的文档测试,它创建一个半径为 2.5 的圆'c1',并检查访问属性'radius' 返回 2.5。2. 为“area”定义一个文档测试,它创建一个半径为 2.5 的圆“c1”,并检查它计算的面积是否为 19.63。
我写了下面提到的代码,但没有得到输出。请建议。
class Circle:
def __init__(self, radius):
"""
>>> c1=Circle(2.5).__init__()
2.5
"""
self.radius = radius
def area(self):
"""
>>> c1=Circle(2.5).area()
19.63
"""
return round(math.pi*(self.radius**2),2)
解决方案
这就是您的带有 doctests 的类的可能编写方式:
import math
class Circle:
def __init__(self, radius):
"""
>>> c1 = Circle(2.5)
>>> c1.radius
2.5
"""
self.radius = radius
def area(self):
"""
>>> c1 = Circle(2.5)
>>> c1.area()
19.63
"""
return round(math.pi*(self.radius**2),2)
这就是你应该如何运行doctest
以获得详细的输出:
$ python -m doctest -v file.py
Trying:
c1 = Circle(2.5)
Expecting nothing
ok
Trying:
c1.radius
Expecting:
2.5
ok
Trying:
c1 = Circle(2.5)
Expecting nothing
ok
Trying:
c1.area()
Expecting:
19.63
ok
2 items had no tests:
file
file.Circle
2 items passed all tests:
2 tests in file.Circle.__init__
2 tests in file.Circle.area
4 tests in 4 items.
4 passed and 0 failed.
Test passed.
推荐阅读
- rust - 我如何实例化这个枚举?第二条语句不编译
- blazor - 在包含枚举值的 InputSelect 中设置文本标题
- c# - 数据库 ASP.NET C# 中未显示的图像
- php - 获取 3 个给定点 php 的轴距离
- typescript - 我可以在 TypesScript 中使用泛型类型作为对象索引类型吗?
- android - 在片段中使用“this”会给我一个错误
- javascript - Discord js 添加了角色执行者
- clang - 为什么 clang 不使用预编译的头文件?
- python - 将 dict 读入 self
- c# - WinUI3下如何给Webview2添加环境参数?