Kısa bir süre önce jMock 2.5.1'den 2.6.0'a yükseltilmiş ve bazı bağımlılıkları değişmiş gibi görünüyor, bu da bazı eski testlerimin başarısız olmasına neden oluyor.jMock ile ilgili beklentiler Nesne veya boş değerlere izin verme
benim test paketi olarakoneOf(service).event(with(any(Long.class)));
, event
hem null
ve geçerli Long
değerlerle çağrılan: my testlerin
Bir kaç testlerin ortak kurulumu için kullanılan aşağıdaki beklenti vardır. Bu JMock 2.5.1 mükemmel kabul edilebilir olması için kullanılır, ancak yükseltmeden sonra, ben şu istisna olsun: Ben bunun nedeni hamcrest yeni sürümüne olabilir şüpheli
java.lang.AssertionError: unexpected invocation: service.event(null)
expectations:
expected once, never invoked: service.event(an instance of java.lang.Long)
what happened before this:
locator.locateService()
service.getService()
at org.jmock.api.ExpectationError.unexpected(ExpectationError.java:23)
at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:85)
at org.jmock.Mockery.dispatch(Mockery.java:231)
at org.jmock.Mockery.access$100(Mockery.java:29)
at org.jmock.Mockery$MockObject.invoke(Mockery.java:271)
at org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)
at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)
at org.jmock.lib.concurrent.Synchroniser.synchroniseInvocation(Synchroniser.java:82)
at org.jmock.lib.concurrent.Synchroniser.access$000(Synchroniser.java:23)
at org.jmock.lib.concurrent.Synchroniser$1.invoke(Synchroniser.java:74)
at org.jmock.lib.JavaReflectionImposteriser$1.invoke(JavaReflectionImposteriser.java:33)
at com.sun.proxy.$Proxy27.system(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
o JMock 2.6.0 kullandığı ancak Emin değilim. Bu yöntem için hem null hem de null olmayan değerleri belirtmek için kullanabileceğim daha uygun bir eşleyici var mı?
Küçük bir sürümde kırılma değişikliklerini görmek güzel ... –
Teşekkür ederim, bunu yapmak için çok uzun zamandır bakıyordum. Benim için sözdizimi, (bir şey()) ile olsa da (Uzun) idi. – neXus