From: Jeff M. <je...@mk...> - 2003-04-30 15:16:05
|
Probably need to write a class a little like this. class MyMailer{ MimeMessageFactory messageFactory; Session session; MyMailer(MimeMessageFactory messageFactory, Session session, Transport transport){ this.messageFactory = messageFactory; this.session = session; this.transport = transport; } send(MyStuff stuff){ MimeMessage message = messageFactory.createMimeMessage(session); // set things on message from stuff. transport.send(message); } } You can then test it by passing mock version of session, transport and messagefactory in. On Wed, 2003-04-30 at 15:23, James Howe wrote: > Ok, I found those definitions but I guess I'm a little fuzzy on how to best > make use of them in writing my code and tests. Are there any examples of > how to make use of these classes? I'm assuming this approach also falls > into a pattern for mocking up code which needs to use functionality > normally provided by static methods. I'd be interested in seeing some > examples of this pattern in action as well. > > Thanks. > > On 30 Apr 2003 12:54:31 +0100, Jeff Martin <je...@mk...> wrote: > > > The mocks for Transport/Message etc are mocks of the alt.javax > > interfaces. Which have both mock and real implementations. The real > > implementations being wrappers around the javax.mail.* classes. > > > > http://www.mockobjects.com/javadoc/1.3/alt/javax/mail/package- > > summary.html > > > > On Tue, 2003-04-29 at 19:40, James Howe wrote: > >> I'm writing a small utility class which will be used to send e-mail. I > >> would like to write the code test-first as much as possible. However, I > >> notice that that Java Mail API makes heavy use of static methods to > >> accomplish many of its tasks. I see that there are Mock implementations > >> of things like Transport and Message in the Mock Objects library, but > >> I'm not sure how to make use of them. Are there any simple examples of > >> using the MockObjects library to test things that use things like > >> javax.mail.Transport (and related classes?) > >> > >> Thanks. -- Jeff Martin <je...@mk...> |