我正在编写一个类似这样的中间件
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进行日志记录。
答案 0 :(得分:1)
这似乎是集成测试的地方。如果股票轨道集成测试绕过您的中间件,则将其视为机架应用并使用[https://github.com/brynary/rack-test]
答案 1 :(得分:1)
这个Sinatra教程应该有所帮助:
http://www.sinatrarb.com/testing.html
您可能还希望将中间件的日志记录重定向到初始化程序中的Rails记录器,以便在测试运行时查看正在进行的操作:
My::Awesome::Middleware.logger = Rails.logger