rspec: how to test redis publish
up vote
0
down vote
favorite
I'm using the 'realtime' gem for realtime message.
Given something like(code from offical website)
# if using redis:
$redis.publish 'realtime_msg', {msg: 'hello world - ' + SecureRandom.hex, recipient_user_ids: [41, 42]}.to_json
How can I test this code with rspec?
ruby-on-rails ruby-on-rails-5 rspec3
add a comment |
up vote
0
down vote
favorite
I'm using the 'realtime' gem for realtime message.
Given something like(code from offical website)
# if using redis:
$redis.publish 'realtime_msg', {msg: 'hello world - ' + SecureRandom.hex, recipient_user_ids: [41, 42]}.to_json
How can I test this code with rspec?
ruby-on-rails ruby-on-rails-5 rspec3
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm using the 'realtime' gem for realtime message.
Given something like(code from offical website)
# if using redis:
$redis.publish 'realtime_msg', {msg: 'hello world - ' + SecureRandom.hex, recipient_user_ids: [41, 42]}.to_json
How can I test this code with rspec?
ruby-on-rails ruby-on-rails-5 rspec3
I'm using the 'realtime' gem for realtime message.
Given something like(code from offical website)
# if using redis:
$redis.publish 'realtime_msg', {msg: 'hello world - ' + SecureRandom.hex, recipient_user_ids: [41, 42]}.to_json
How can I test this code with rspec?
ruby-on-rails ruby-on-rails-5 rspec3
ruby-on-rails ruby-on-rails-5 rspec3
asked Nov 7 at 7:35
hu huang
82
82
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
You can add a spy to $redis
to assert that publish
gets called with certain arguments like so:
expect($redis).to receive(:publish).with('realtime_msg', /hello world/)`
The last part, /hello world.*recipient_user_ids/
is just an example of a regular expression you could use to match the JSON string you're providing as a second argument to publish
. You could use a custom matcher there or any other rspec argument matcher that serves your purpose.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
You can add a spy to $redis
to assert that publish
gets called with certain arguments like so:
expect($redis).to receive(:publish).with('realtime_msg', /hello world/)`
The last part, /hello world.*recipient_user_ids/
is just an example of a regular expression you could use to match the JSON string you're providing as a second argument to publish
. You could use a custom matcher there or any other rspec argument matcher that serves your purpose.
add a comment |
up vote
0
down vote
You can add a spy to $redis
to assert that publish
gets called with certain arguments like so:
expect($redis).to receive(:publish).with('realtime_msg', /hello world/)`
The last part, /hello world.*recipient_user_ids/
is just an example of a regular expression you could use to match the JSON string you're providing as a second argument to publish
. You could use a custom matcher there or any other rspec argument matcher that serves your purpose.
add a comment |
up vote
0
down vote
up vote
0
down vote
You can add a spy to $redis
to assert that publish
gets called with certain arguments like so:
expect($redis).to receive(:publish).with('realtime_msg', /hello world/)`
The last part, /hello world.*recipient_user_ids/
is just an example of a regular expression you could use to match the JSON string you're providing as a second argument to publish
. You could use a custom matcher there or any other rspec argument matcher that serves your purpose.
You can add a spy to $redis
to assert that publish
gets called with certain arguments like so:
expect($redis).to receive(:publish).with('realtime_msg', /hello world/)`
The last part, /hello world.*recipient_user_ids/
is just an example of a regular expression you could use to match the JSON string you're providing as a second argument to publish
. You could use a custom matcher there or any other rspec argument matcher that serves your purpose.
answered Nov 7 at 12:59
jbielick
660417
660417
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53185176%2frspec-how-to-test-redis-publish%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password