当正在进行的故事遇到以下任何终止信号时
- SIGTERM
- SIGINT
- SIGQUIT
- SIGHUP
那么它将触发引擎的 tear_down 方法。
实际上,这意味着如果你正在运行一系列故事,Ctrl-C 应该停止当前执行,运行 tear_down,然后不再运行任何故事。
代码示例
example.story
Create files:
steps:
- Pause forever
Should never run:
steps:
- Should not happen
from hitchstory import BaseEngine
from code_that_does_things import reticulate_splines
import psutil
class Engine(BaseEngine):
def pause_forever(self):
psutil.Process().terminate()
def should_not_happen(self):
raise Exception("This exception should never be triggered")
def tear_down(self):
print("Reticulate splines")
带代码
from hitchstory import StoryCollection
from pathlib import Path
from engine import Engine
StoryCollection(Path(".").glob("*.story"), Engine()).ordered_by_name().play()
将输出
RUNNING Create files in /path/to/working/example.story ... Aborted
Reticulate splines
可执行规范
从 abort.story storytests 自动生成的文档。