2 个版本

0.1.1 2023年9月4日
0.1.0 2023年9月2日

#18 in #stage

MIT 协议

8KB
78 代码行数(不包括注释)

Tesuto

Tesuto 是一个极简且轻量级的测试工具。Tesuto 设计得易于设置,尽可能快。Tesuto 允许开发者专注于解决部署问题。

安装

从版本中安装

  1. 转到版本部分,选择您要安装的版本。
  2. 下载存档并解压。
  3. 将可执行文件放置在环境变量 PATH 中存在的位置。

如果无法运行可执行文件且出现错误 permission denied,请运行 sudo chmod +x <path_to_tesuto> 以使其可运行。

从 crates.io 安装

  1. 下载 rustup 并按照说明进行安装。
  2. 运行 cargo install --locked tesuto 并等待编译完成。
  3. Tesuto 已准备就绪,可使用。

从源代码构建

  1. 下载 rustup 并按照说明进行安装。
  2. 克隆此仓库并进入目录。
  3. 运行 git checkout latest 以使用最新版本的源代码,或运行 git checkout main 以使用不稳定版本。
  4. 您可以使用 cargo build 命令构建带调试信息的可执行文件,或使用 cargo build --releases 命令构建优化版本。

配置

生成新项目

安装后,打开终端并进入您要使用 Tesuto 的项目所在的目录。接下来,您需要创建一个新的项目文件

tesuto new

结构

Tesuto 会生成默认项目并将其保存为 tesuto.yml。它看起来像这样

name: TesutoProject
stages:
  hello:
    before_script: []
    script:
    - echo "Hello World!"
    variables: {}
    quite: false

您有两个选项:namestagesname 是您项目的名称。 stages 是您将编写您项目每个阶段的区域。

您可以使用 tesuto list 获取项目中的阶段列表。

阶段结构

让我们看看 hello 阶段的选项。

  • before_script - 在主脚本执行之前将要执行的命令。您可以将其留空。
  • script - 此阶段的命令。它不能为空。
  • variables - 每个脚本的环境变量(包括 before_script)。
  • quite - 显示输出或不显示。默认值为 false - 显示所有输出。

配置新阶段

使用命令 add 并传递名称以创建具有特定名称的新阶段。例如,让我们创建一个名为 spam 的新阶段。

tesuto add spam

现在我们在项目中有一个新阶段。让我们向阶段添加一个新命令。

为此,让我们编辑 script 选项。在 YAML 中,要向数组中添加新字符串,我们使用 - 前缀。让我们再次添加 echo,但现在将打印 "Hello again!"

  spam:
    before_script: []
    script:
    - echo "Hello World!"
    # New command in stage.
    - echo "Hello again!"
    variables: {}
    quite: false

我们还可以尝试在 variables 选项中添加环境变量。变量的语法

    VARIABLE_NAME: "variable value"

让我们添加一个名为 HELLO 的变量,其值为 Hello,并通过最后的 echo 命令打印它。

  spam:
    before_script: []
    script:
    - echo "Hello World!"
    # We are adding $ sign beacuse it's an environment variable.
    - echo "$HELLO again!"
    variables: 
        # New variable
        HELLO: "Hello"
    quite: false

但我们为什么没有添加 - 前缀?因为它不是一个数组。它是一个选项。

我们还可以使用 quite 为阶段设置静默模式。我想它的语法对您来说看起来很相似。

运行项目

要运行项目,请使用 run 命令。

tesuto run

Tesuto 会自动给出信号,如果有错误发生。

此外,您可以使用 run-stage 命令运行特定阶段。

tesuto run-stage hello

项目布局

├─ imgs/           Images for README.
├─ target/         Build directory
├─ tesuto/         App source code.
└─ tesuto_project/ Library that contains project structure for Tesuto.

依赖项

~2–2.7MB
~58K SLoC