我正在尝试为厨师(minitest::spec)创建一个迷你测试,但我对如何在 ruby 中完成我想要的有点迷茫。
我想要做的是让代码运行“日期”命令,然后检查输出是否包含“UTC”。
到目前为止我有这个,但我不知道如何检查输出是否为“真”:
it "uses the correct timezone" do
timezone_check = shell_out("date")
timezone_check.to_s.include?('UTC')
end
我尝试使用 .must_output,但我不知道如何合并它。这甚至是实现我想要的最佳方式吗?
任何输入表示赞赏!
谢谢。
编辑:我现在已经试过了:
it "uses the correct timezone" do
date_input = `date`
proc { puts date_input.to_s }.must_output /UTC/
end
但这会导致:
Failure:
test_0002_uses_the_correct_timezone(recipe::base::default) [/var/chef/minitest/base/default_test.rb:18]:
In stdout.
--- expected
+++ actual
@@ -1 +1,2 @@
-/UTC/
+"Fri Apr 19 17:50:27 UTC 2013
+"