【问题标题】:Check if py file is run by ide or command line检查py文件是通过ide还是命令行运行
【发布时间】:2020-01-05 08:02:43
【问题描述】:

我需要检查我的 python unittest 脚本是由 Visual Studio 测试资源管理器运行的,还是由命令行运行的。除了 len(sys.argv) >= 1 还有什么?

【问题讨论】:

  • 当测试由 VS 测试资源管理器运行时,我会先检查环境变量。检查 sys.argv 不是正确的方法,因为您可以使用多个参数从命令行运行这些测试。
  • 知道为什么很重要?
  • 另一种方法是通过 os.getppid() 获取您的单元测试脚本实例父级的 pid,然后您可以尝试对 find process name via pid 进行一些包装
  • 我需要运行两个测试程序,一个是由 VS 运行的,第二个是从 jenkins 作业运行的测试
  • 您不应该将您的测试与您的 IDE 或特定的 CI 环境紧密耦合。听起来你需要一个合适的功能标志/配置文件

标签: python-3.x


【解决方案1】:

os.environ.keys() 中查找仅在 VS 中运行时才存在的 Visual Studio 特定环境变量。见Detect where Python code is running (e.g., in Spyder interpreter vs. IDLE vs. cmd)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-07
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多