python - 使用“bazel test”时如何使用PDB?
问题描述
我使用 unittest.TestCase 创建了一个 python 单元测试。我一直在项目中使用 bazel。下面是一个简化的例子。
py_library(
name = "example",
srcs = [
"example.py"
],
)
py_test(
name = "example_test",
srcs = [
"example_test.py",
],
deps = [
":example",
],
)
以下命令运行良好:
bazel test :example_test
但我想使用“pdb”调试“example.py”。如果我添加'import pdb; pdb.set_trace()' 行在 example.py 中的某处,'bazel test' 崩溃并显示以下错误消息。
if self.quitting: raise BdbQuit
bdb.BdbQuit
我在stackoveflow中进行了一些搜索,但以下答案也不起作用:
有人可以就此提供一些建议吗?
解决方案
我无法bazel test
使用 pdb 运行。但是您可以通过将测试bazel run
视为py_binary
目标来运行测试,并且 pdb 照常工作。
推荐阅读
- timeout - MediaPipe Iris 在无图像或无人脸图像时卡在等待功能
- go - 将无操作二进制文件与“net”静态链接并关闭 cgo 失败
- google-bigquery - 我们可以在谷歌大查询中同步过去 6 个月的 GA4 数据吗?如果是,我们怎么能?
- react-native - 如何使用 yup 验证 useRef 对象?
- ios - 在 React Native(iOS)中从 LTR 更改为 RTL 后,抽屉滑轨不起作用
- optimization - 如何使用遗传算法优化模糊逻辑控制器的参数?
- java - JavaMailSender:身份验证失败
- python - 在带有 PyQt5 的 qml 中使用 ApplicationWindow 会导致空白窗口,但没有它的相同代码不会
- .net-assembly - 程序集引用与找到的程序集定义不匹配 - 对于 System.Threading.Tasks.Extensions,版本 = 4.2.0.0
- javascript - 数据存储在 My Sql 数据库中,但对密码进行哈希处理时出错