Lasna Asked:2022-07-01 16:33:18 +0800 CST2022-07-01 16:33:18 +0800 CST 2022-07-01 16:33:18 +0800 CST 持续交付 772 举个例子,gitlab ci。 例如,我可以很容易地检查一个程序的编译 - make. 或编译与否。或者npm run build(将从源代码创建文件)。 以及如何检查那些启动和工作的程序。例如,npm run start。或发射nginx。也就是说,那些一直工作到停止的程序。 gitlab 1 个回答 Voted Best Answer KoVadim 2022-07-01T16:45:25+08:002022-07-01T16:45:25+08:00 在 Linux 中有一个超时命令 - 它允许您在一段时间后击败应用程序。在管道中的 gitlab 中有一个类似的 - https://docs.gitlab.com/ee/ci/pipelines/settings.html#timeout 因此,在这种情况下,测试可以如下 - 我们启动应用程序并让它工作 10 秒(或其他时间)。如果在这段时间内应用程序没有下降,那就已经很好了。然后你可以查看日志,检查初始初始化是否通过,是否进入运行模式(应用作者最好知道启动他的应用程序的阶段)。这种方法在游戏行业中非常常用——如果游戏开始并在约定的时间内达到指定的屏幕/状态——非常好。至少它会启动并且不会崩溃。为了让测试实用程序理解这一点,有时会在屏幕上绘制所需颜色的条件矩形/圆形。 第二种方法是将特殊密钥传递给程序并运行内部测试。同一个 nginx 可以检查它的配置。如果他能够阅读它们并且没有摔倒 - 超级。并且配置可能会有所不同。 但是我知道各种程序员认为,如果程序知道它正在被测试(即通过了一个特殊的密钥),那么这是不好的测试,不应该被允许。
在 Linux 中有一个超时命令 - 它允许您在一段时间后击败应用程序。在管道中的 gitlab 中有一个类似的 - https://docs.gitlab.com/ee/ci/pipelines/settings.html#timeout
因此,在这种情况下,测试可以如下 - 我们启动应用程序并让它工作 10 秒(或其他时间)。如果在这段时间内应用程序没有下降,那就已经很好了。然后你可以查看日志,检查初始初始化是否通过,是否进入运行模式(应用作者最好知道启动他的应用程序的阶段)。这种方法在游戏行业中非常常用——如果游戏开始并在约定的时间内达到指定的屏幕/状态——非常好。至少它会启动并且不会崩溃。为了让测试实用程序理解这一点,有时会在屏幕上绘制所需颜色的条件矩形/圆形。
第二种方法是将特殊密钥传递给程序并运行内部测试。同一个 nginx 可以检查它的配置。如果他能够阅读它们并且没有摔倒 - 超级。并且配置可能会有所不同。
但是我知道各种程序员认为,如果程序知道它正在被测试(即通过了一个特殊的密钥),那么这是不好的测试,不应该被允许。