全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

测试与调试专项测试

20 题 40 分钟 难度:

考察知识点

  • unittest模块:TestCase类、断言方法、测试套件
  • pytest框架:pytest语法、fixture、参数化测试
  • 调试技巧:pdb调试器、断点设置、变量检查
  • 日志记录:logging模块、日志级别、日志配置
1
判断题

Python的logging模块提供了灵活的日志记录功能,支持多种日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL)和多种输出方式(文件、控制台、网络等)。

A

B

2
单选题

设置日志级别为INFO后,以下哪个日志消息不会被输出?

A

logging.debug('message')

B

logging.info('message')

C

logging.warning('message')

D

logging.error('message')

3
填空题

logging有5个级别:______(调试)、______(一般)、_______(警告)、______(错误)、________(严重)。basicConfig设置______参数指定最低输出级别,________参数指定输出文件,______参数指定日志格式。

4
判断题

生产环境日志最佳实践包括:使用合适的日志级别、结构化日志格式、避免记录敏感信息、配置日志轮转防止文件过大、集中存储便于分析。

A

B

5
单选题

RotatingFileHandler的作用是:

A

按天分割日志文件

B

按大小轮转日志文件,超过限制创建新文件

C

同时输出到多个文件

D

发送日志到远程服务器

6
填空题

RotatingFileHandler按______轮转日志,参数________设置最大大小,___________设置保留备份数。TimedRotatingFileHandler按______轮转,when='________'每天午夜轮转。避免记录______信息。使用______格式便于分析。

7
判断题

cProfile模块用于分析Python程序的性能,统计各函数的调用次数和执行时间;timeit模块用于精确测量小段代码的执行时间。

A

B

8
单选题

cProfile分析结果中的"cumtime"表示:

A

函数本身的执行时间

B

函数及其调用的所有函数的总时间

C

函数被调用的次数

D

函数单次调用的平均时间

9
填空题

cProfile.run('______()')分析函数性能。ncalls表示________,tottime表示函数______执行时间,_______表示累计时间(含______)。timeit.timeit('code', ______=n)测量代码______次的执行______

10
判断题

unittest是Python内置的单元测试框架,测试类继承unittest.TestCase,测试方法以test开头,使用assertEqual等断言方法验证结果。

A

B

11
单选题

unittest测试类中,以下哪个方法会被自动执行为测试?

A

def add_test(self):

B

def test_add(self):

C

def TestAdd(self):

D

def testing_add(self):

12
填空题

unittest测试类继承________,测试方法以______开头。self.___________(a, b)断言相等,self.__________(x)断言为真,self.________(a, b)断言包含,self.____________(exc)断言抛出异常。运行测试用_____________()。

13
判断题

pytest是Python流行的第三方测试框架,语法简洁,测试函数无需继承类,直接使用普通assert语句即可,支持参数化测试和丰富的插件生态。

A

B

14
单选题

pytest相比unittest的主要优势是:

A

pytest是内置模块,unittest需要安装

B

pytest直接使用assert语句,语法更简洁

C

pytest只能测试函数,不能测试类

D

unittest性能更好

15
填空题

pytest测试函数以______开头,直接使用______语句断言。运行测试用______命令。参数化测试用___________装饰器。fixture用_______________定义。pytest需要______安装,语法比unittest更______

16
判断题

Python的assert语句用于调试时检查条件,如果条件为False则抛出AssertionError异常,可用于测试代码验证预期结果。

A

B

17
单选题

执行assert 5 > 10会发生什么?

A

返回False

B

返回None

C

抛出AssertionError异常

D

正常执行,无输出

18
填空题

assert语句检查条件,条件为______时抛出______________异常。pytest直接使用______断言。unittest使用self.___________()断言相等,self.__________()断言为真,self.____________()断言抛出异常。python ______选项可禁用assert。

19
判断题

coverage是Python的代码覆盖率分析工具,可以统计测试过程中执行的代码行数比例,帮助发现未被测试覆盖的代码路径。

A

B

20
单选题

使用coverage分析pytest测试覆盖率,正确的命令顺序是:

A

coverage report && coverage run -m pytest

B

coverage run -m pytest && coverage report

C

pytest && coverage html

D

coverage pytest && coverage report

← 上一个试卷 流程控制专项测试
下一个试卷 → 生态与工具链专项测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库