|
View:
New views
8 Messages
—
Rating Filter:
Alert me
|
|
|
exactly(n) function in JMockHi,
I am facing a slightly weird problem. I set an expectation as exactly(n).of(<mock-obj>).f() Bug Suppose the function f() is called 5 times; For any n < 5, the expectation fails. However, if I provide the value of n > 5, it passes for all!! Eg: exactly(100).of(<mock-obj>).f() The above expectation passes, even though the function f() is called only 5 times! Any thoughts ? PS: The expectation is under a context and the syntax is perfectly fine. In short, the java file compiles fine! -Vivek |
|
|
Re: exactly(n) function in JMockI'm facing the same problem.
It seems to be a bug in JMock. See the JIRA http://jira.codehaus.org/browse/JMOCK-129.
|
|
|
Re: exactly(n) function in JMockThis problem seems pretty old. Does anyone know somthing about that ?
For information I use jmock 2.5.1 and jmock-junit4 2.5.1.
|
|
|
Re: exactly(n) function in JMockCan you create a small test that reproduces the problem? E.g. one
that fails but should not. --Nat 2009/5/29 Julien D <myrddin22@...>: > > This problem seems pretty old. Does anyone know somthing about that ? > > For information I use jmock 2.5.1 and jmock-junit4 2.5.1. > > > Julien D wrote: >> >> I'm facing the same problem. >> >> It seems to be a bug in JMock. See the JIRA >> http://jira.codehaus.org/browse/JMOCK-129. >> >> >> ravisankarvivek wrote: >>> >>> Hi, >>> I am facing a slightly weird problem. I set an expectation as >>> >>> *exactly(n).of(<mock-obj>).f()* >>> >>> *Bug* >>> Suppose the function f() is called 5 times; For any n < 5, the >>> expectation >>> fails. However, if I provide the value of n > 5, it passes for all!! >>> Eg: *exactly(100).of(<mock-obj>).f()* >>> The above expectation passes, even though the function f() is called only >>> 5 >>> times! >>> >>> Any thoughts ? >>> >>> PS: The expectation is under a context and the syntax is perfectly fine. >>> In >>> short, the java file compiles fine! >>> >>> -Vivek >>> >>> >> >> > > -- > View this message in context: http://www.nabble.com/exactly%28n%29-function-in-JMock-tp20322373p23780192.html > Sent from the jMock - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- http://www.natpryce.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: exactly(n) function in JMockHere's my test :
import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JUnit4Mockery; import org.junit.Before; import org.junit.Test; public class ExactlyTest { private interface IDao { void someMetod(); } private class SomeService { private IDao dao; private void someServiceMethod() { //First call dao.someMetod(); //Second call dao.someMetod(); } public void setDao(IDao dao) { this.dao = dao; } } //Mock context private Mockery context; private SomeService underTest; private IDao iDao; @Before public void before() throws Exception { context = new JUnit4Mockery(); underTest = new SomeService(); iDao = context.mock(IDao.class); underTest.setDao(iDao); } //Failing as expected @Test public void testExactlyOne() { context.checking(new Expectations() {{ exactly(1).of (iDao).someMetod(); }}); underTest.someServiceMethod(); } //Passing as expected @Test public void testExactlyTwo() { context.checking(new Expectations() {{ exactly(2).of (iDao).someMetod(); }}); underTest.someServiceMethod(); } //Passing as not expected @Test public void testExactlyAHundredMillionSuns() { context.checking(new Expectations() {{ exactly(100).of (iDao).someMetod(); }}); underTest.someServiceMethod(); } }
|
|
|
Re: exactly(n) function in JMockJulien D wrote:
> Here's my test : > > import org.jmock.Expectations; > import org.jmock.Mockery; > import org.jmock.integration.junit4.JUnit4Mockery; > import org.junit.Before; > import org.junit.Test; > > public class ExactlyTest { > > private interface IDao { > void someMetod(); > } > > private class SomeService { > > private IDao dao; > > private void someServiceMethod() { > //First call > dao.someMetod(); > //Second call > dao.someMetod(); > } > > public void setDao(IDao dao) { > this.dao = dao; > } > } > > //Mock context > private Mockery context; > > private SomeService underTest; > > private IDao iDao; > > @Before > public void before() throws Exception { > context = new JUnit4Mockery(); > underTest = new SomeService(); > iDao = context.mock(IDao.class); > > underTest.setDao(iDao); > } > > //Failing as expected > @Test > public void testExactlyOne() { > context.checking(new Expectations() {{ > exactly(1).of (iDao).someMetod(); > }}); > > underTest.someServiceMethod(); > } > > //Passing as expected > @Test > public void testExactlyTwo() { > context.checking(new Expectations() {{ > exactly(2).of (iDao).someMetod(); > }}); > > underTest.someServiceMethod(); > } > > //Passing as not expected > @Test > public void testExactlyAHundredMillionSuns() { > context.checking(new Expectations() {{ > exactly(100).of (iDao).someMetod(); > }}); > > underTest.someServiceMethod(); > } > } > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: exactly(n) function in JMockYou have neither annotated the class with @RunWith(JMock.class) nor
explicitly called context.assertIsSatisfied() in any of your tests. --Nat 2009/6/1 Julien D <myrddin22@...>: > > Here's my test : > > import org.jmock.Expectations; > import org.jmock.Mockery; > import org.jmock.integration.junit4.JUnit4Mockery; > import org.junit.Before; > import org.junit.Test; > > public class ExactlyTest { > > private interface IDao { > void someMetod(); > } > > private class SomeService { > > private IDao dao; > > private void someServiceMethod() { > //First call > dao.someMetod(); > //Second call > dao.someMetod(); > } > > public void setDao(IDao dao) { > this.dao = dao; > } > } > > //Mock context > private Mockery context; > > private SomeService underTest; > > private IDao iDao; > > @Before > public void before() throws Exception { > context = new JUnit4Mockery(); > underTest = new SomeService(); > iDao = context.mock(IDao.class); > > underTest.setDao(iDao); > } > > //Failing as expected > @Test > public void testExactlyOne() { > context.checking(new Expectations() {{ > exactly(1).of (iDao).someMetod(); > }}); > > underTest.someServiceMethod(); > } > > //Passing as expected > @Test > public void testExactlyTwo() { > context.checking(new Expectations() {{ > exactly(2).of (iDao).someMetod(); > }}); > > underTest.someServiceMethod(); > } > > //Passing as not expected > @Test > public void testExactlyAHundredMillionSuns() { > context.checking(new Expectations() {{ > exactly(100).of (iDao).someMetod(); > }}); > > underTest.someServiceMethod(); > } > } > > > > Nat Pryce wrote: >> >> Can you create a small test that reproduces the problem? E.g. one >> that fails but should not. >> >> --Nat >> >> 2009/5/29 Julien D <myrddin22@...>: >>> >>> This problem seems pretty old. Does anyone know somthing about that ? >>> >>> For information I use jmock 2.5.1 and jmock-junit4 2.5.1. >>> >>> >>> Julien D wrote: >>>> >>>> I'm facing the same problem. >>>> >>>> It seems to be a bug in JMock. See the JIRA >>>> http://jira.codehaus.org/browse/JMOCK-129. >>>> >>>> >>>> ravisankarvivek wrote: >>>>> >>>>> Hi, >>>>> I am facing a slightly weird problem. I set an expectation as >>>>> >>>>> *exactly(n).of(<mock-obj>).f()* >>>>> >>>>> *Bug* >>>>> Suppose the function f() is called 5 times; For any n < 5, the >>>>> expectation >>>>> fails. However, if I provide the value of n > 5, it passes for all!! >>>>> Eg: *exactly(100).of(<mock-obj>).f()* >>>>> The above expectation passes, even though the function f() is called >>>>> only >>>>> 5 >>>>> times! >>>>> >>>>> Any thoughts ? >>>>> >>>>> PS: The expectation is under a context and the syntax is perfectly >>>>> fine. >>>>> In >>>>> short, the java file compiles fine! >>>>> >>>>> -Vivek >>>>> >>>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/exactly%28n%29-function-in-JMock-tp20322373p23780192.html >>> Sent from the jMock - User mailing list archive at Nabble.com. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >>> >> >> >> >> -- >> http://www.natpryce.com >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> >> > > -- > View this message in context: http://www.nabble.com/exactly%28n%29-function-in-JMock-tp20322373p23814629.html > Sent from the jMock - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > -- http://www.natpryce.com --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: exactly(n) function in JMockIndeed adding the annotation @RunWith(JMock.class) or context.assertIsSatisfied() solved my problem. Forgot this part oups.
Thanks guys
|
| Free embeddable forum powered by Nabble | Forum Help |