Tag: 机架测试

我可以测试Sinatra post方法是否成功保存到YAML商店?

我无法在任何地方找到关于如何使用Rack :: Test测试Ruby / Sinatra post方法成功将数据保存到YAML存储/文件的基本解释。 ( 这解释了测试get ,我可以做(!),但没有post ;其他提到测试使用rack / test的post方法似乎无关紧要。)对于自学,我正在构建一个“待办事项”应用程序在Ruby / Sinatra和我正在尝试使用TDD的一切,并像一个好小男孩一样进行unit testing。 我的要求是:当用户发布新任务时,它将保存在YML存储中。 我正在考虑通过查看是否在对用户的响应中显示“任务已保存”来测试这一点(当然这不是直接测试事物本身……但我还想测试它): assert last_response.body.include?(“Task saved”) 或以某种方式测试测试任务的描述现在是否在YML文件中。 我想我可以打开YML文件并查看,然后从YML文件中删除它,但我很确定这不是我应该做的。 我已确认post确实正确保存到YML文件: get(‘/’) do |*user_message| # prepare erb messages @user_message = session[:message] if session[:message] @overlong_description = session[:overlong_description] if session[:overlong_description] session[:message] = nil # clear message after being used session[:overlong_description] = nil # ditto @tasks […]

如何在Ruby中迭代内存中的zip文件

我正在写一个unit testing,其中一个正在返回一个zip文件,我想检查这个zip文件的内容,从中获取一些值,并将值传递给下一个测试。 我正在使用Rack Test,所以我知道我的zip文件的内容在last_response.body 。 我查看了RubyZip的文档,但似乎总是期待一个文件。 由于我正在运行unit testing,我更喜欢在内存中完成所有操作,以免污染任何带有测试zip文件的文件夹,如果可能的话。