我目前正在为Rails API(Rails 4)编写Rspec测试。我有一个特定的规范,需要为文件中的每个测试保留和重用令牌。
但是,在每个it
和describe
块之后,数据库将被擦除并生成新令牌。
一旦运行了所有这十个左右的测试,数据库就可以自由清理。
对象(令牌)本身是在GET
请求到终点时生成的。来自同一用户的第二个GET
请求将使用相同的令牌返回一组新结果,同时记住用户刚刚请求的内容。
这是我试图测试的这种互动。
人们会推荐哪些工具可以提供此功能?我需要一个特定的对象来持久存储在数据库中
或者,人们会怎么建议我解决这个问题?
我一直在寻找配置数据库清理程序gem的方法,但是没有找到任何关于为此类特定情况配置数据库清理的提及。
提前致谢。
答案 0 :(得分:0)
您可以将Rspec配置为在所有测试之前和之后运行一些代码
RSpec.configure do |config|
config.before :all do
# create token
end
config.after :all do
# delete token
DatabaseCleaner.clean
end
end