我正在编写一本简单的食谱,用于将SSL代理部署到服务器上。该烹饪书最终将被其他部署Web服务的烹饪书使用,以便在他们面前设置SSL代理,但是为了测试代理菜谱本身,它背后没有这样的服务。我对这本食谱的基本测试策略如下:
所以我的问题是,使用test-kitchen和ServerSpec和/或bats设置这些测试前置条件的正确方法是什么?
答案 0 :(得分:0)
如果设置和拆卸确实不是我测试的一部分,那么我通常只是在每个测试之前运行的Ruby中(通常在spec_helper.rb中)执行它们。由于serverspec只是在测试厨房实例上逐行运行ruby代码,因此我觉得有必要在serverspec中提供一些提供设置/拆卸功能的东西(换句话说,那里没有订购问题或需要调用设置或拆卸方法的重复测试。)
答案 1 :(得分:0)
老问题,但为了完整性:
您可以在服务器规范中使用rspec的before
。
describe file('/tmp/testfile') do
before do
File.write('/tmp/testfile', 'Hello, world')
end
it { should exist }
its(:content) { should include('Hello') }
end
来自https://github.com/jantman/serverspec-extended-types的http_get
类型可能会提供来自serverspec内的HTTP服务器测试所需的内容。