【发布时间】:2023-04-09 16:13:02
【问题描述】:
我正在使用 Devise 和 JWT 对我正在编写的项目中的用户进行身份验证。我很难弄清楚如何编写一个有用的测试来期待 JWT response.body(因为每个都是加密的)。
我唯一能想到的就是测试它们的结构是否应该是 JWT(3 段,'.' 分隔字符串)。
有没有人遇到过测试随机/散列返回并提出更好的解决方案?
describe SessionTokensController, type: :controller do
let(:current_user) { FactoryGirl.create(:user) }
before(:each) do
sign_in current_user
end
describe '#create' do
it 'responds with a JWT' do
post :create
token = JSON.parse(response.body)['token']
expect(token).to be_kind_of(String)
segments = token.split('.')
expect(segments.size).to eql(3)
end
end
end
【问题讨论】:
标签: ruby-on-rails rspec jwt