在IDEA中如何运行名称含Unicode字符的unittest方法?
问题性质判断
该问题属于IDEA Python插件的已知bug:Python PEP 3131规范明确允许标识符使用Unicode字符,单测方法用Unicode命名本身完全符合语法规则,弹出Provide a qualified name of a function, class or module警告是因为旧版本IDEA的单测运行校验逻辑仅适配了ASCII范围的标识符,没有兼容Unicode命名规则导致的误报。
简便解决方法
- 关闭单测标识符校验(最快生效):打开IDEA设置,路径为
File → Settings → Tools → Python Integrated Tools,在Testing分类下找到Validate Python identifiers when run/debug tests选项,取消勾选后应用配置,后续运行含Unicode命名的单测不会再弹出警告。 - 全局生效配置:如果需要所有项目默认适用该规则,可进入
File → New Projects Setup → Settings for New Projects,按上述路径修改相同配置即可。 - 升级插件版本(永久修复):将IDEA的Python插件升级到2023.2及以上版本,官方已经在该版本修复了该校验缺陷,升级后无需额外修改配置即可正常运行Unicode命名的单测方法。
- 临时规避方案:不想修改配置的情况下,可以选中测试类而非单个测试方法触发运行,IDEA类级别的单测运行不会校验单个方法的标识符格式,可直接执行类下所有测试。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

