Okay, my first try didn't work. This seems to though:
@request.cookies['key'] = CGI::Cookie.new( 'name' => 'key', 'value' => my_value, 'expires' => 14.days.from_now, 'path' => '/', 'domain' => 'example.com' )
When you're simulating a cookie, you have to go all the way. It expects it as a CGI::Cookie, set by a hash with strings for keys.