【问题标题】:VS Code - after using assert, enclosed code is removed due to optimizationVS Code - 使用 assert 后,由于优化,封闭的代码被删除
【发布时间】:2020-10-18 15:44:49
【问题描述】:

我的测试代码是:

from func import add, is_even

def test_add():
    assert add(2, 3) == 5

def test_is_even():
    assert is_even(2) == True

在 VS Code 中保存此代码后,显示以下警告:

检测到断言的使用。随附的代码将在以下情况下被删除 编译为优化的字节码。

当我从终端运行此代码时,我没有得到任何输出。我做错了什么?还是VS Code配置有问题?

【问题讨论】:

  • 如何从终端运行代码?
  • 命令:python3 文件名.py
  • 我不记得遇到过类似的问题,但是消息很清楚,不是吗? Assert 仅用于开发目的,在编译生产时将被删除。
  • 使用 pytestpyunit 之类的测试框架来进行正确的测试和断言。
  • 如果使用 -O-OO 标志调用 Python,assert 语句将被删除:python -O myfile.py

标签: python visual-studio-code pytest


【解决方案1】:

好的,如果$ python3 filename.py 是您运行代码的方式并且问题中的代码就是您所拥有的一切,那么您将不会得到任何输出,因为您只定义了两个您不会在任何地方调用的函数。

您还标记了问题pytest,因此您应该使用$ pytest filename.py 来运行您的测试。有关更多信息,请参阅documentation

【讨论】:

    猜你喜欢
    • 2013-05-30
    • 2011-11-03
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 2020-02-27
    • 2016-10-06
    相关资源
    最近更新 更多