Jay*_*nan 10 ruby unit-testing rspec
这可能看起来像一个新手问题,但我很难过.我正在尝试构建一个简单的Ruby冗余服务,并且我正在使用RSpec进行一些单元测试.我碰到了这个奇怪的问题,我看不出发生了什么.
RSpec.describe SlackService do
let(:token) { 'BOT-TOKEN' }
subject do
SlackService.new(token)
end
describe '#channel_list' do
context 'get channels' do
let(:client) { instance_double(Slack::Web::Client) }
before(:each) do
allow(:subject).to receive(:client) { client }
@result = subject.channel_list
end
it { expect(@result).to eq [] }
end
end
end
Run Code Online (Sandbox Code Playgroud)
我跑的时候得到的错误rspec是
Failures:
1) SlackService#channel_list get channels
Failure/Error: allow(:subject).to receive(:client) { instance_double(Slack::Web::Client) }
TypeError:
can't define singleton
# ./spec/slack_service_spec.rb:12:in `block (4 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
如果有人需要更多信息,将进行编辑 知道这个错误意味着什么吗?无论如何,我似乎无法摆脱它.
Nor*_*ias 33
这似乎是一个错字.应该是主体而不是:主题
allow(subject).to receive(:client) { client }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5069 次 |
| 最近记录: |