我继承了一个 shell 脚本应用程序,它是 kshell 脚本、awk 和 java 程序的组合。我已经为 java 片段编写了 JUnit 测试。
是否有一个好方法可以对 kshell 脚本和 awk 程序执行类似的操作?
我考虑过使用 JUnit 和 System.exec() 来调用脚本,但似乎应该有更好的方法。
最佳答案
我找到了shUnit2并会尝试。
更新尝试 shUnit 的结果
shUnit 按预期工作。脚本文件是用定义的测试函数编写的,然后调用 shUnit。
示例:
#!/bin/sh
testFileCreated()
{
TESTFILE=/tmp/testfile.txt
# some code that creates the $TESTFILE
assertTrue 'Test file missing' "[ -s '${TESTFILE}' ]"
}
# load shunit2
. /path/to/shUnit/shunit2-2.1.5/src/shell/shunit2
结果
Ran 1 test.
OK
如果文件不存在,“OK”将替换为“FAILED”。
关于shell - 寻找自动化测试 kshell 应用程序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1058737/