ruby - rspec:如何捕获新线程的退出?
问题描述
因此,我能够以exit
这种方式在 rspec 中捕获:
expect { exit }.to raise_error(SystemExit)
但是,如果在exit
新线程中调用了,整个 rspec 运行将退出:
expect { Thread.new { exit } }.to raise_error(SystemExit)
有没有办法exit
优雅地从新线程中捕获?
解决方案
我不知道这是否正是您想要的,但是您可以在新创建的线程上调用 join 。这似乎对我有用。
expect { Thread.new { exit }.join }.to raise_error(SystemExit)
推荐阅读
- flutter - 什么是 Dart & Flutter 开发
- mysql - 使用 LOAD_FILE 插入 mysql 为该字段插入 null
- reactjs - AsyncStorage 在 mergeItem 期间抱怨数组和对象不兼容
- database - neo4j 试图做 UNION 但我仍然看到超出范围的东西
- python - 我是否需要在 PyTorch 中创建多个神经网络实例来测试多个损失函数?
- node.js - 如何使用 cookiecutter-django scss
- python - 不和谐机器人 youtube url python
- android - 想要预览我的抽屉菜单布局时 Android Studio 出错
- c - 我们如何在不使用循环和条件的情况下打印从 1 到 100 的数字
- button - 扫描仪不会继续读取多行文件进行登录功能