[rspec-users] STDIN gets method issue with rspec

Tumas Bajoras lists at ruby-forum.com
Sun Feb 28 16:53:06 EST 2010

David Chelimsky wrote:
> On Fri, Jan 22, 2010 at 1:46 PM, gokul murthy <railsthinker at gmail.com> 
> wrote:
>> Please kindly advise me, how to write spec for this.
> Even though it seems simple, you've chosen a rather complex situation
> to try to learn Rspec from. Did you pick this because you really need
> to solve it, or is this just an academic exercise? If the latter,
> let's start somewhere simpler, and get to things like simulating IO
> later :)
> It is always easiest to start with examples in which you can create an
> object with some state, send it a message (call a method), and set
> expectations about the result: given/when/then.
> describe Person, "full name" do
>   context "with a first and last name" do
>     it "concats the names with a space between them" do
>       #given
>       person = Person.new(:first_name => "Gokul", :last_name => 
> "Murthy")
>       # when
>       full_name = person.full_name
>       #then
>       full_name.should == "Gokul Murthy"
>     end
>   end
> end
> I separated out the When and Then to make it clear which is which, but
> in practice I'd likely just write this:
>     it "concats the names with a space between them" do
>       person = Person.new(:first_name => "Gokul", :last_name => 
> "Murthy")
>       person.full_name.should == "Gokul Murthy"
>     end
> Now we have a pretty clear picture of how we want to create a Person
> and how we want to ask for its name, and what our expected outcome is.
> If you really want to know about specifying IO, let me know and I'll
> show you a couple of ways to do it, but they are much less
> straightforward.
> Cheers,
> David


I am learning RSpec as well and it would be great if you could show how 
to test IO.

Posted via http://www.ruby-forum.com/.

More information about the rspec-users mailing list