我该如何测试Rack中间件?
问题描述:
我正在写一个中间件,做这样的事情我该如何测试Rack中间件?
Given I am logged in
When I visit home page
Then the request and all of my user information should get logged into CouchDB
这基本上是它,中间件本身并不复杂,但我有与工作流的麻烦。
首先,我不知道如何测试这样的东西。该功能本身非常清晰,但我将如何去实现它?我可以做的*测试可能是通过curl
发送请求,然后检查它是否保存到CouchDB中。
问题是,我不太确定我应该测试什么级别,以及哪些类型的测试最有帮助。目前我基本上打F5,并看看有没有新的记录分贝。
该应用程序在Rails 3.2.2上运行,我使用couchrest
gem来执行日志记录。
答
这西纳特拉教程应该帮助:
http://www.sinatrarb.com/testing.html
你可能也想重定向日志记录您的中间件到初始化器中的Rails记录器,以便在测试运行时可以看到发生了什么:
My::Awesome::Middleware.logger = Rails.logger