我的要求是我需要运行一个安装在其他用户中的实用程序,并且我必须检查从该会话返回的输出并进行验证。 例子 :
- 我以srijava用户身份安装了 java
- 现在在 Serverspec 中,我编写了测试 Java 版本的命令(假设
java -version
仅在该用户中运行,而不是以root身份运行)。 - 如果我使用
su srijava
,那么我不会将输出返回到根会话并且测试失败。 - 如果我没有运行,
su srijava
那么我的实用程序将抛出用户不是SriJava的错误
代码su
:
describe command('su srijava ; cd /app/java; ./java --version') do
its(:stdout) { should contain('1.7') }
end
没有的代码su
:
describe command('cd /app/java; ./java --version') do
its(:stdout) { should contain('1.7') }
end