
问题
当我构建 Swift 库时,我经常发现自己对每次想要运行测试时都需要重复输入命令 swift test 感到沮丧。 这个过程非常耗时,并且很难有效地测试和调试我的代码。 此外,swift test 命令没有内置的监视功能,这意味着我每次更改代码时都必须手动运行测试。
这是我受到启发创建 Runo 的时候,这是一个可以简化运行命令行脚本过程的工具。 我想要一个像 npm 脚本一样易于使用的解决方案,但可以用于使用任何技术或语言堆栈构建的项目,而不仅仅是 JavaScript。
发现 Runo 能做什么
简化脚本执行
Runo 旨在简化运行命令行脚本的过程,使开发人员更容易管理他们的项目。 通过将所有脚本存储在一个配置文件中,Runo 消除了手动输入命令的需要,从而节省了您的时间并减少了挫败感。
例如,考虑一个您需要构建 Xcode 项目的场景。 通常,您会在终端中运行以下命令:
xcodebuild -project MyProject.xcodeproj -scheme MyProjectScheme build
使用 Runo,您可以将此脚本存储在您的配置文件中,使其更易于运行。 以下是您的 runo.json 配置文件的示例:
{
"scripts": {
"build": "xcodebuild -project MyProject.xcodeproj -scheme MyLibrary build"
}
}
现在,您所要做的就是在终端中运行以下命令:
runo build
这将运行您在配置文件中定义的脚本,并为您提供与运行原始 xcodebuild 命令相同的结果。
测试驱动开发变得简单有趣
测试驱动开发 (TDD) 是确保代码质量的软件开发的一个重要方面。 Runo 通过其监视模式使 TDD 变得更加轻松和有趣。 每当对代码进行更改时,监视模式都会自动运行测试,从而可以实时接收反馈。 每次进行更改时不再手动重新运行测试
例如,考虑这样一个场景,您正在处理 Swift 库,并且希望在更改代码时持续运行测试用例。 使用 Runo,您可以使用手表模式轻松完成此操作。 通过在您的 Runo 配置文件中包含以下内容:
{
"scripts": {
"test": "swift test"
}
}
然后,您可以在终端中运行以下命令:
runo test -w Sources
-w 选项用于指定 Runo 应该监视更改的目录。 在这种情况下,正在监视当前目录 (Sources)。 一旦您对代码进行更改并保存,Runo 将自动运行 swift 测试命令。 这使 TDD 变得轻而易举,并且您无需不断地重新输入 swift 测试命令。
结论
总之,Runo 是一个强大而灵活的命令行工具,可以简化运行脚本的过程。 通过允许您在配置文件中定义脚本,Runo 简化了运行复杂脚本(如 xcodebuild)的过程,只需几个命令。 它的手表模式也让 TDD 变得轻而易举。 最重要的是,Runo 是一个开源项目,因此您可以为其开发做出贡献并使其变得更好。