10 个版本 (1 个稳定版)
1.0.0 | 2023年1月29日 |
---|---|
0.3.0 | 2022年10月30日 |
0.2.1 | 2022年10月22日 |
0.1.15 | 2022年10月22日 |
0.0.0 |
|
#256 在 测试 中
每月27 次下载
38KB
948 行
LUCIFER 🐲
免费、开源、跨平台,用 Rust 编写的照明 CLI 测试。
什么是 lucifer?
Lucifer 是一个 CLI 测试工具,专为运行测试套件而设计。它围绕的想法是您的集成测试需要与代码库一起扩展。
Cucumber 是一个很好的框架示例,它将解释和执行测试的代码与测试本身分开。这个想法是 Lucifer 的基础。通过将测试 CLI 的代码与您需要指定的要求隔离开,您的测试代码库的复杂性可以与您运行的测试线性扩展。
所有 Lucifer 测试都使用纯 YAML 指定,以最大化可读性和易于编写。开发者、QA、分析师以及任何了解 CLI 的人都可以轻松阅读这些测试。
这带来了可定制性的权衡。Lucifer 负责执行数据,这使得在需要时定制工具变得困难。如果您发现需要做 Lucifer 不提供的事情,有一些选项。
1. 创建一个问题(或者更好的是,一个拉取请求!)
Lucifer 可能缺少一些功能。请使用 GitHub 中的 问题标签 创建新的功能请求并与我联系,了解您正在寻找什么。
2. 考虑它是否应该是一个集成测试。
Lucifer 支持许多不同类型的测试。如果有些特定的事件 Lucifer 没有覆盖,请考虑它是否应该是一个单元测试。
3. 编写您自己的工具
如果最坏的情况发生,您 可以 编写一个简单的 bash 脚本来包装您的工具并验证需要验证的内容。只需记住,性能指标将涉及任何自定义验证步骤。
为什么叫 Lucifer?
我和一个研究这些事情的朋友聊天,他告诉我,“the Satan”的原始翻译实际上更准确地翻译为“挑战者”。这改变了我们对《旧约全书》中约伯书所发生事情的理解——不是上帝和“Satan”在谈话,而是在上帝讨论某事时有人发言,使他们成为那个场景中的“Satan”。
当然,我通过称这个项目为路西法而不是撒旦来曲解了这一切。根据我的了解,路西法是指堕落天使。但该死,路西法听起来更好。
这个项目的目标是挑战你对代码外观的假设。通过这样做,你将不再需要自己成为“撒旦”。
入门指南
安装
先决条件
路西法使用 Rust 构建和分发。你需要在本地系统上安装 Rust 的包管理器 cargo。
要安装路西法,请在所选终端中运行以下命令
cargo install lucifer-testing
运行测试
安装路西法后,是时候开始测试了!让我们创建一个简单的测试。
- 创建一个名为 "feature.yaml" 或任何有意义的名称的 yaml 文件。
- 将以下 yaml 内容粘贴到文件中
command: echo
tests:
- name: echo replies
description: |
Given any string
When echo is called
Then that string should be returned
args:
- hello
expectations:
- output: hello
使用以下命令运行此文件
lucifer -i ./feature.yaml
更多示例,请访问 测试语法参考。
替代方案
路西法可能不适合你。没关系。希望你会考虑支持以下这些开源项目之一
最后
如果你尝试了路西法,请在 GitHub 上给它一个好评。我很喜欢知道有人认为这项工作很有价值。
依赖项
~330KB