Hi.
Could someone please direct me to a Squeak project (or some documentation) that uses mock objects in its tests, specifically dealing with testing network code like a web service. I'm looking for a way to speed up some unit tests that hit a remote service. Thanks in advance, Chad |
"Chad Nantais" <[hidden email]> wrote:
> Hi. > > Could someone please direct me to a Squeak project (or some > documentation) that uses mock objects in its tests, specifically > dealing with testing network code like a web service. I'm looking for > a way to speed up some unit tests that hit a remote service. It's by no means fully functional, but you might want to look at MockSocketStream. That SHOULD be in Squeak-3.8 and up, seeing as I wrote it in 2004. Having a mock network layer not only lets you speed up tests, it also allows you to disregard all the lovely things that can go wrong in the network. You can run your tests knowing that you're not going to get red everywhere because your colleague tripped over your fly lead, or is fiddling with a patch panel in the next room. And, of course, a mock network layer lets you INJECT errors :) I do intend adding to the MockSocketStream at some stage, but my plate's too full for the next several months. frank |
While this mock layer is good for many applications, I think it's
probably too deep for what Chad is dealing with. Chad -- you should be able to mock out the service itself and inject that into your application code. While I haven't done this in a Smalltalk application I have successfully and easily done it in *many* applications in other languages. Jason On 6/23/06, Frank Shearar <[hidden email]> wrote: > "Chad Nantais" <[hidden email]> wrote: > > > Hi. > > > > Could someone please direct me to a Squeak project (or some > > documentation) that uses mock objects in its tests, specifically > > dealing with testing network code like a web service. I'm looking for > > a way to speed up some unit tests that hit a remote service. > > It's by no means fully functional, but you might want to look at > MockSocketStream. That SHOULD be in Squeak-3.8 and up, seeing as I wrote it > in 2004. > > Having a mock network layer not only lets you speed up tests, it also allows > you to disregard all the lovely things that can go wrong in the network. You > can run your tests knowing that you're not going to get red everywhere > because your colleague tripped over your fly lead, or is fiddling with a > patch panel in the next room. And, of course, a mock network layer lets you > INJECT errors :) > > I do intend adding to the MockSocketStream at some stage, but my plate's too > full for the next several months. > > frank > > > -- Jason Rogers "Where there is no vision, the people perish..." Proverbs 29:18 |
Frank & Jason,
I don't need anything too deep right now. I just need to be able to create an object that mocks up a simple API for a remote service. I found this page and used it to create exactly what I needed. http://www.cincomsmalltalk.com/userblogs/malby/SingleView.ssp?showComments=true&forPrinter=true&entry=3293316866 I'm also using it to test non-networked code now too. For example, when I am writing unit tests for Cart, and I want to test the Cart>>total, which adds prices of CartItem instances that are in the cart, I just mock up the CartItem instances and make them return some number when sent #price. This is great because I can really isolate the Cart class that's being tested without it being dependant on having a fully-working CartItem class. Thanks for your help. Chad On 6/23/06, Jason Rogers <[hidden email]> wrote: > While this mock layer is good for many applications, I think it's > probably too deep for what Chad is dealing with. Chad -- you should > be able to mock out the service itself and inject that into your > application code. While I haven't done this in a Smalltalk > application I have successfully and easily done it in *many* > applications in other languages. > > Jason > > On 6/23/06, Frank Shearar <[hidden email]> wrote: > > "Chad Nantais" <[hidden email]> wrote: > > > > > Hi. > > > > > > Could someone please direct me to a Squeak project (or some > > > documentation) that uses mock objects in its tests, specifically > > > dealing with testing network code like a web service. I'm looking for > > > a way to speed up some unit tests that hit a remote service. > > > > It's by no means fully functional, but you might want to look at > > MockSocketStream. That SHOULD be in Squeak-3.8 and up, seeing as I wrote it > > in 2004. > > > > Having a mock network layer not only lets you speed up tests, it also allows > > you to disregard all the lovely things that can go wrong in the network. You > > can run your tests knowing that you're not going to get red everywhere > > because your colleague tripped over your fly lead, or is fiddling with a > > patch panel in the next room. And, of course, a mock network layer lets you > > INJECT errors :) > > > > I do intend adding to the MockSocketStream at some stage, but my plate's too > > full for the next several months. > > > > frank > > > > > > > > > -- > Jason Rogers > > "Where there is no vision, the people perish..." > Proverbs 29:18 > > |
Chad
You know what would be great? If you could write by pasting some of your code in a text editor and share that with us. I would like to add some material to my Sunit tutorial and I could use your example. Stef On 23 juin 06, at 15:48, Chad Nantais wrote: > Frank & Jason, > > I don't need anything too deep right now. I just need to be able to > create an object that mocks up a simple API for a remote service. > > I found this page and used it to create exactly what I needed. > http://www.cincomsmalltalk.com/userblogs/malby/SingleView.ssp? > showComments=true&forPrinter=true&entry=3293316866 > > I'm also using it to test non-networked code now too. For example, > when I am writing unit tests for Cart, and I want to test the > Cart>>total, which adds prices of CartItem instances that are in the > cart, I just mock up the CartItem instances and make them return some > number when sent #price. This is great because I can really isolate > the Cart class that's being tested without it being dependant on > having a fully-working CartItem class. > > Thanks for your help. > > Chad > > On 6/23/06, Jason Rogers <[hidden email]> wrote: >> While this mock layer is good for many applications, I think it's >> probably too deep for what Chad is dealing with. Chad -- you should >> be able to mock out the service itself and inject that into your >> application code. While I haven't done this in a Smalltalk >> application I have successfully and easily done it in *many* >> applications in other languages. >> >> Jason >> >> On 6/23/06, Frank Shearar <[hidden email]> wrote: >> > "Chad Nantais" <[hidden email]> wrote: >> > >> > > Hi. >> > > >> > > Could someone please direct me to a Squeak project (or some >> > > documentation) that uses mock objects in its tests, specifically >> > > dealing with testing network code like a web service. I'm >> looking for >> > > a way to speed up some unit tests that hit a remote service. >> > >> > It's by no means fully functional, but you might want to look at >> > MockSocketStream. That SHOULD be in Squeak-3.8 and up, seeing as >> I wrote it >> > in 2004. >> > >> > Having a mock network layer not only lets you speed up tests, it >> also allows >> > you to disregard all the lovely things that can go wrong in the >> network. You >> > can run your tests knowing that you're not going to get red >> everywhere >> > because your colleague tripped over your fly lead, or is >> fiddling with a >> > patch panel in the next room. And, of course, a mock network >> layer lets you >> > INJECT errors :) >> > >> > I do intend adding to the MockSocketStream at some stage, but my >> plate's too >> > full for the next several months. >> > >> > frank >> > >> > >> > >> >> >> -- >> Jason Rogers >> >> "Where there is no vision, the people perish..." >> Proverbs 29:18 >> >> > |
Stef,
I have attached the MockObject code and a test example. Let me know if you are looking for something else. Chad On 6/26/06, stéphane ducasse <[hidden email]> wrote: > Chad > > You know what would be great? > If you could write by pasting some of your code in a text editor and > share that with us. > I would like to add some material to my Sunit tutorial and I could > use your example. > > Stef > > On 23 juin 06, at 15:48, Chad Nantais wrote: > > > Frank & Jason, > > > > I don't need anything too deep right now. I just need to be able to > > create an object that mocks up a simple API for a remote service. > > > > I found this page and used it to create exactly what I needed. > > http://www.cincomsmalltalk.com/userblogs/malby/SingleView.ssp? > > showComments=true&forPrinter=true&entry=3293316866 > > > > I'm also using it to test non-networked code now too. For example, > > when I am writing unit tests for Cart, and I want to test the > > Cart>>total, which adds prices of CartItem instances that are in the > > cart, I just mock up the CartItem instances and make them return some > > number when sent #price. This is great because I can really isolate > > the Cart class that's being tested without it being dependant on > > having a fully-working CartItem class. > > > > Thanks for your help. > > > > Chad > > > > On 6/23/06, Jason Rogers <[hidden email]> wrote: > >> While this mock layer is good for many applications, I think it's > >> probably too deep for what Chad is dealing with. Chad -- you should > >> be able to mock out the service itself and inject that into your > >> application code. While I haven't done this in a Smalltalk > >> application I have successfully and easily done it in *many* > >> applications in other languages. > >> > >> Jason > >> > >> On 6/23/06, Frank Shearar <[hidden email]> wrote: > >> > "Chad Nantais" <[hidden email]> wrote: > >> > > >> > > Hi. > >> > > > >> > > Could someone please direct me to a Squeak project (or some > >> > > documentation) that uses mock objects in its tests, specifically > >> > > dealing with testing network code like a web service. I'm > >> looking for > >> > > a way to speed up some unit tests that hit a remote service. > >> > > >> > It's by no means fully functional, but you might want to look at > >> > MockSocketStream. That SHOULD be in Squeak-3.8 and up, seeing as > >> I wrote it > >> > in 2004. > >> > > >> > Having a mock network layer not only lets you speed up tests, it > >> also allows > >> > you to disregard all the lovely things that can go wrong in the > >> network. You > >> > can run your tests knowing that you're not going to get red > >> everywhere > >> > because your colleague tripped over your fly lead, or is > >> fiddling with a > >> > patch panel in the next room. And, of course, a mock network > >> layer lets you > >> > INJECT errors :) > >> > > >> > I do intend adding to the MockSocketStream at some stage, but my > >> plate's too > >> > full for the next several months. > >> > > >> > frank > >> > > >> > > >> > > >> > >> > >> -- > >> Jason Rogers > >> > >> "Where there is no vision, the people perish..." > >> Proverbs 29:18 > >> > >> > > > > > Squeak MockObject.txt (870 bytes) Download Attachment Squeak MockObject - Cart Tests.txt (788 bytes) Download Attachment |
TX I will look at that.!!!
Stef On 27 juin 06, at 17:33, Chad Nantais wrote: > Stef, > > I have attached the MockObject code and a test example. > > Let me know if you are looking for something else. > > Chad > > On 6/26/06, stéphane ducasse <[hidden email]> wrote: >> Chad >> >> You know what would be great? >> If you could write by pasting some of your code in a text editor and >> share that with us. >> I would like to add some material to my Sunit tutorial and I could >> use your example. >> >> Stef >> >> On 23 juin 06, at 15:48, Chad Nantais wrote: >> >> > Frank & Jason, >> > >> > I don't need anything too deep right now. I just need to be >> able to >> > create an object that mocks up a simple API for a remote service. >> > >> > I found this page and used it to create exactly what I needed. >> > http://www.cincomsmalltalk.com/userblogs/malby/SingleView.ssp? >> > showComments=true&forPrinter=true&entry=3293316866 >> > >> > I'm also using it to test non-networked code now too. For example, >> > when I am writing unit tests for Cart, and I want to test the >> > Cart>>total, which adds prices of CartItem instances that are in >> the >> > cart, I just mock up the CartItem instances and make them return >> some >> > number when sent #price. This is great because I can really >> isolate >> > the Cart class that's being tested without it being dependant on >> > having a fully-working CartItem class. >> > >> > Thanks for your help. >> > >> > Chad >> > >> > On 6/23/06, Jason Rogers <[hidden email]> wrote: >> >> While this mock layer is good for many applications, I think it's >> >> probably too deep for what Chad is dealing with. Chad -- you >> should >> >> be able to mock out the service itself and inject that into your >> >> application code. While I haven't done this in a Smalltalk >> >> application I have successfully and easily done it in *many* >> >> applications in other languages. >> >> >> >> Jason >> >> >> >> On 6/23/06, Frank Shearar <[hidden email]> wrote: >> >> > "Chad Nantais" <[hidden email]> wrote: >> >> > >> >> > > Hi. >> >> > > >> >> > > Could someone please direct me to a Squeak project (or some >> >> > > documentation) that uses mock objects in its tests, >> specifically >> >> > > dealing with testing network code like a web service. I'm >> >> looking for >> >> > > a way to speed up some unit tests that hit a remote service. >> >> > >> >> > It's by no means fully functional, but you might want to look at >> >> > MockSocketStream. That SHOULD be in Squeak-3.8 and up, seeing as >> >> I wrote it >> >> > in 2004. >> >> > >> >> > Having a mock network layer not only lets you speed up tests, it >> >> also allows >> >> > you to disregard all the lovely things that can go wrong in the >> >> network. You >> >> > can run your tests knowing that you're not going to get red >> >> everywhere >> >> > because your colleague tripped over your fly lead, or is >> >> fiddling with a >> >> > patch panel in the next room. And, of course, a mock network >> >> layer lets you >> >> > INJECT errors :) >> >> > >> >> > I do intend adding to the MockSocketStream at some stage, but my >> >> plate's too >> >> > full for the next several months. >> >> > >> >> > frank >> >> > >> >> > >> >> > >> >> >> >> >> >> -- >> >> Jason Rogers >> >> >> >> "Where there is no vision, the people perish..." >> >> Proverbs 29:18 >> >> >> >> >> > >> >> >> >> <Squeak MockObject.txt> >> <Squeak MockObject - Cart Tests.txt> > |
Free forum by Nabble | Edit this page |