logo
HitchDev
使用 HitchStory
初始化搜索
    • 关于
    • 咨询
    • 联系我
    • Commandlib
      • 变更日志
      • 使用
        • Alpha
          • 将目录添加到 PATH (with_path)
          • 捕获输出 (.output())
          • 从一个目录轻松调用命令 (CommandPath)
          • 更改命令的环境变量 (with_env)
          • 运行命令,如果退出代码非零,则不引发异常 (ignore_errors())
          • 从字符串或文件管道输入数据 (.piped)
          • 将数据管道输出到字符串或文件 (.piped)
          • 使用 icommandlib 或 pexpect 交互式地运行命令
          • 从当前虚拟环境轻松调用命令 (python_bin)
    • Faketime
    • Hitchdb
      • 变更日志
      • 方法
      • 使用
        • Postgres 类型
        • 快速入门
    • Hitchpage
      • 变更日志
      • 方法
        • 页面配置模型
      • 使用
        • Iframe
        • 快速入门
        • 重新加载
    • Hitchrunpy
      • 变更日志
      • 使用
        • Alpha
          • Cprofile
          • 环境变量
          • 异常
          • 包含文件
          • 与正在运行的代码交互
          • 设置代码
          • 语法错误
          • 超时
          • 变量
    • Hitchstory
      • 变更日志
      • 方法
        • HitchStory 是一个 BDD 工具吗?如何使用 hitchstory 做 BDD?
        • 补充工具
        • 领域特定场景语言 (DASL)
        • 可执行规范
        • 不稳定的测试
        • 封闭式端到端测试模式
        • 反模式 - 分析师为开发人员编写故事
        • 测试关注点分离
        • 快照测试驱动开发 (STDD)
        • 测试制品环境隔离
        • 测试关注点泄漏
        • 测试作为一项投资
        • 测试和故事有什么区别?
        • 测试真实性的重要性
        • 测试非确定性代码
        • 规范文档测试三元组
      • 使用
        • 行为
          • 使用 ctrl-C 中止故事
          • 处理 v0.14 和 v0.15 之间的重大更改
          • 处理失败的测试
          • 成功运行单个命名故事
        • 文档
          • 使用额外的变量和函数生成文档
          • 从故事生成文档
        • 引擎
          • 隐藏预期异常的堆栈跟踪
          • 给定前提条件
          • 故事步骤的逐步类型化
          • 匹配两个 JSON 片段
          • 匹配两个字符串并在失败时显示差异
          • 额外的故事元数据 - 例如,将 JIRA 票证号添加到故事中
          • 带参数的故事
          • 重写给定前提条件的故事
          • 重写自身的故事
          • 重写参数子键的故事
          • 引发 Failure 异常以隐藏堆栈跟踪
          • 步骤的参数
          • 强类型
        • 继承
          • 从另一个故事简单地继承一个故事
          • 故事继承 - 给定映射前提条件被覆盖
          • 故事继承 - 覆盖给定标量前提条件
          • 故事继承 - 参数
          • 故事继承 - 步骤
          • 变化
        • Pytest
          • 使用 pytest 和 hitchstory 自行重写测试
        • 运行器
          • 在播放多个故事时,继续执行失败
          • 不稳定的故事检测
          • 按顺序播放多个故事
          • 运行集合中的一个故事
          • 故事名称的快捷方式查找
        • 安装
          • 创建基本的命令行测试运行器
      • 为什么
        • 声明式用户故事
        • 为什么 hitchstory 要求使用 given,但不使用 when 和 then?
        • 为什么继承是 hitchstory 故事的功能?
        • 为什么 hitchstory 对什么对“业务”来说有趣没有意见?
        • 许可证对我意味着什么?
        • 为什么 hitchstory 没有命令行界面?
        • 原则
        • 为什么 HitchStory 没有 CLI 运行器 - 只有纯 Python API?
        • 为什么可重写测试驱动开发 (RTDD)?
        • 为什么 HitchStory 使用 StrictYAML?
      • 为什么不
        • 为什么使用 Hitchstory 而不是 Behave、Lettuce 或 Cucumber (Gherkin)?
        • 为什么不使用 Robot Framework?
        • 为什么使用 hitchstory 而不是单元测试框架?
    • Icommandlib
      • 变更日志
      • 使用
        • 自定义屏幕条件
        • 杀死
        • 进程属性
        • 截图
        • 屏幕尺寸
        • 发送键
        • 等待成功退出
    • Orji
      • 变更日志
      • 使用
        • 所有模板功能的演示
        • 故意触发模板失败
        • 插入文件
        • 生成的 LaTeX A4 简历示例
        • 生成的 LaTeX A4 信纸示例
        • 将 orgmode 文本块转换为 markdown
        • 使用带有模板变量和方法的 Python 模块
        • 使用多个笔记进行模板化
        • 运行
    • Strictyaml
      • 变更日志
      • StrictYAML 去除了哪些 YAML 功能?
      • 什么是 YAML?
      • 什么时候应该使用验证器,什么时候不应该使用?
      • 使用
        • Alpha
          • 复合
            • 固定长度序列 (FixedSeq)
            • 组合定义和未定义键的映射 (MapCombined)
            • 具有任意键名的映射 (MapPattern)
            • 具有定义键和自定义键验证器的映射 (Map)
            • 使用已解析映射的 YAML 对象
            • 具有定义键的映射 (Map)
            • 带有默认值的可选键 (Map/Optional)
            • 验证映射中的可选键 (Map)
            • 唯一项的序列 (UniqueSeq)
            • 序列/列表验证器 (Seq)
            • 使用模式更新文档
          • 操作方法
            • 从头开始在代码中构建 YAML 文档
            • 不同但同样有效的不同 YAML 类型的或/或模式验证
            • 标记异常
            • 合并 YAML 文档
            • 重新验证已验证的文档
            • 读取 YAML、编辑它并将其写回
            • 获取 YAML 元素的行号
            • 无需模式解析 YAML
          • 限制
            • 不允许的 YAML
            • 重复键
            • 脏加载
          • 标量
            • 布尔值 (Bool)
            • 解析逗号分隔的项目 (CommaSeparated)
            • 日期时间 (Datetime)
            • 十进制数 (Decimal)
            • 电子邮件和 URL 验证器
            • 空键验证
            • 枚举标量 (Enum)
            • 浮点数 (Float)
            • 十六进制整数 (HexInt)
            • 整数 (Int)
            • 使用正则表达式验证字符串 (Regex)
            • 解析字符串 (Str)
      • 为什么
        • 重复键有什么问题?
        • 显式标签有什么问题?
        • 流式 YAML 有什么问题?
        • 挪威问题 - 为什么 StrictYAML 拒绝执行隐式类型化,所以你也应该拒绝
        • 节点锚点和引用有什么问题?
        • 为什么 StrictYAML 不解析 Python 对象的直接表示?
        • 为什么 StrictYAML 只从字符串而不是文件解析?
        • 为什么解析速度不是 StrictYAML 的优先事项?
        • 什么是语法类型化?
        • 为什么 StrictYAML 让你在 Python 中定义模式 - 一种图灵完备的语言?
      • 为什么不
        • 为什么避免将环境变量用作配置?
        • 为什么不使用 HJSON?
        • 为什么不使用 HOCON?
        • 为什么不使用 INI 文件?
        • 为什么不使用 JSON 模式进行验证?
        • 为什么不使用 JSON 作为简单的配置文件?
        • 为什么不使用 JSON5?
        • 为什么不使用 YAML 1.2 标准?- 我们不需要新的标准!
        • 为什么不使用 kwalify 和标准 YAML 来验证我的 YAML?
        • 为什么不使用 Python 的模式库(或类似库)进行验证?
        • 为什么不使用 SDLang?
        • TOML 有什么问题?
        • 为什么我不应该只使用 Python 代码进行配置?
        • 为什么不使用 XML 进行配置或 DSL?

    使用 HitchStory

    如何

    • 使用 ctrl-C 中止故事
    • 处理 v0.14 和 v0.15 之间的重大更改
    • 处理失败的测试
    • 成功运行单个命名故事
    版权所有 © 2018 - 2023 Colm O'Connor
    由 Material for MkDocs 制作