语境在尝试为--exclude构建一个/-- exclude / --ignore选项时,我在确定从哪里开始时遇到了一些困难。 Bashcov 还不支持--exclude / --ignore选项,从以下输出可以看出: bashcov --help :bashcov --help Usage: ...
语境在尝试为--exclude构建一个/-- exclude / --ignore选项时,我在确定从哪里开始时遇到了一些困难。 Bashcov 还不支持--exclude / --ignore选项,从以下输出可以看出: bashcov --help :bashcov --help Usage: ...
放置 bats aka 测试文件的最佳位置在哪里? 您是否将它们与您正在测试的 bash 脚本放在同一目录中? 如果将它们放在不同的目录中,如何引用 bash 脚本? ...
尝试使用Bats Core使用 Bash (5.1.16) 进行 Shell 测试。 我在尝试测试格式时遇到了一个问题,并且已经花费了 2 个小时。 🤯 在这个测试中,我想确保文本格式为红色。 @test "Message with title only, format 'list', sty ...
我在 bash/shell 脚本方面没有太多经验,最近才开始使用 Bats 框架或库编写一些带有单元测试的 bash 脚本。 目前正在编写一个脚本,该脚本需要删除超过一定天数的文件。 下面是函数。 是否可以对上述功能进行单元测试,因为它具有复杂的命令? 如果不可能,我们可以用其他方式重写上述函数 ...
我有一组 .bat 文件。 每个文件都包含一些测试。 如何禁用其中一项测试? 下面是一个例子 我想忽略 protocolTest.bat 中的测试。 以下是我在protocolTest.bats文件中的测试。 如何忽略或禁用测试“test2-protocol”? ...
在尝试编写一个可靠的 bash 方法来检测由多行文本组成的变量是否包含 substring(可能包含空格)时,我遇到了一些困难。 编写了三个函数,我使用BATS框架为它们编写了一些测试。 它们失败的功能和伴随的测试包括在下面。 方法一 这在测试中失败: 所以第一种方法不会捕获所有子字符串。 方法二 ...
我正在使用蝙蝠来测试一些 bash 脚本。 在其中一项测试中,我需要挂载生成的 iso 磁盘映像并对其内容进行断言。 当我尝试在测试后立即卸载磁盘映像时,我会收到Device or resource busy错误,除非我在卸载操作之前插入睡眠时间。 脚本如下所示: 这在某种程度上可行,但我对任意睡 ...
在尝试在名为some_function的assert_failure上进行 assert_failure 时,我在传递多个参数时遇到了一些困难。 其中 function 包括: output 仅显示第一个变量成功传递,而第二个到第四个没有: 如何在 function 上运行assert_fail ...
赏金将在 5 天后到期。 此问题的答案有资格获得+100声望赏金。 at想引起更多的关注这个问题。 语境作为使用 BATS 测试的 Bash 脚本的一部分,我注意到当我运行激活 ssh 帐户的 function 时,我的测试并未终止。 代码以下 function 假定 /home/<use ...
在尝试测试一种检查 GitLab 服务器是否正在运行 5 秒的方法时,我在检测错误消息时遇到了一些困难。 Function 检查 GitLab 服务器状态 测试代码 预期行为我希望测试通过,因为到达了exit 1 ,我认为它会引发失败。 观察到的行为当包含出口1时,测试失败,测试的output为 ...
语境在测试自动安装和运行 GitLab 和 GitLab 运行器的安装脚本的功能时,我在后台运行 GitLab 运行器时遇到了一些困难,无法继续进行测试。 (我的意图是简单地在后台运行运行器,然后运行一些测试来验证服务是否按预期运行)。 但是,当我的测试执行sudo gitlab-runner ...
我在一些测试中有以下内容: tmpdir=$(mktemp -d) trap 'echo @@@@@@@@@@@@@@@@@@@ >&3' INT TERM HUP EXIT # trap is really meant to `rm -rf ${tmpdir}` 我期待执行ech ...
这是我写的蝙蝠测试脚本 我希望 $TEST_NAME 在 setup.txt 和 runtest.txt 中具有相同的值,但它们具有不同的 UUIDS(相同的前缀 - SecretsManagerTest1) 我怎样才能做到这一点? ...
语境在编写期望抛出异常/错误的测试时,我在检测错误时遇到了一些困难。 该代码安装各种软件包并分别测试每个安装命令。 There is one function that does some preprocessing before each function and then calls the ...
在设置了可以在某个目录中测试 shell 脚本的 bats 测试框架后,我尝试扩展passive_function.sh测试以测试另一个 shell 文件中编写的 shell 函数。 测试设置 我创建了一个模板存储库来执行 shell 测试。 它在文件夹/test/包含一个名为test_other ...
我有一个函数可以检查文件是否存在以及它是否可执行。 我有一个需要dos2unix的脚本。 由于dos2unix安装在/usr/bin我不能只从PATH删除已安装的路径。 我也不想(也不能)暂时重命名实际的 dos2unix 程序。 我尝试在 BASH_CMDS 中设置一个条目,它可以从命令 ...
我正在调用我创建的交互式 cli 工具(使用go但这不在问题的范围内)。 我正在使用BATS和expect的组合对其进行集成测试。 下面是具体的测试套件: 这一步的成功是创建一个具有预定义内容的特定目录。 因为我是BATS新手,所以我找不到一种方法来以某种方式断言该命令 将等于 等 ...
我期待在不同环境中重用代码进行 bats 单元测试。 我想知道是否可以在一个地方为两个文件提供通用的@test 代码。 我的第一个单元测试文件将在我的开发环境中运行: 我的第二个单元测试文件运行相同的测试,将在部署或生产环境中运行: 如您所见,测试代码是相同的,只需更改设置 function 上的$ ...
我正在将BATS测试框架与bats-assert和bats-support一起使用。 我想确保用户记得正确设置ELASTIC_CREDS env变量。 我怎么做? 这是我尝试过的: 然后,我的checkcreds.bats测试计算机如下所示: ...
在OOP Universum于,有很多的信息,如何与DESGIN重构代码,使其单元测试友好。 但我想知道,如何将这些原则/实践(使模拟更容易等)应用/翻译到 shell 脚本,这显然是不同的编程。 我必须处理一个非常庞大的代码库; 许多可执行和不可执行的过程、大型函数、大型全局状态、许多环境变量, ...