Tag: easymock

PowerMock – 模拟静态系统类抛出IllegalStateException

我有以下代码 public class A{ public void createFile() { File tempXmlFile = null; String extension = “.xml”; String name = “someName”; try { tempXmlFile = File.createTempFile(name, extension); if (tempXmlFile.exists()) { tempXmlFile.delete(); } } catch (IOException e) { System.out.println(e.getStackTrace()); } } } @RunWith(PowerMockRunner.class) @PrepareForTest(A.class) public class testA extends TestCase{ private A classUnderTest; @Override @Before public void setUp() […]

如何配置EasyMock Class Extension 3.1?

我想将EasyMock Class Extension 3.1添加到我的项目中,我对EasyMock 3.1 CE的依赖性有疑问。 我添加依赖项:cglib-2.2.2.jar和asm-4.0.jar并抛出exception: java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V 当我使用cglib-nodep-2.1_3.jar和asm-4.0.jar抛出另一个exception时: java.lang.NoClassDefFoundError: org/objenesis/ObjenesisHelper at org.easymock.internal.ObjenesisClassInstantiator.newInstance(ObjenesisClassInstantiator.java:26) at org.easymock.internal.ClassProxyFactory.createProxy(ClassProxyFactory.java:219) at org.easymock.internal.MocksControl.createMock(MocksControl.java:70) 如何配置EasyMock Class Extension 3.1? 我需要使用哪些依赖项?

JUnit与Mockito,EasyMock等嘲笑

我正在尝试在我正在测试的类中模拟一个对象的方法。 例如 class ClassToTest { public doSomething () { SomeObject a = new SomeObject (); a.doSomethingElse (); } } 有没有办法模拟变量“a”的方法? 我想doSomethingElse在测试期间什么都不做。 我目前正在使用Mockito,但我对任何模拟框架持开放态度。 谢谢

如何对扩展SqlMapClientDaoSupport的DAO进行unit testing

Spring DA有助于编写DAO。 当使用iBATIS作为持久性框架并扩展SqlMapClientDaoSupport时,应该为DAO设置SqlMapClient模拟,但我不能这样做。 SqlMapClientTemplate不是一个接口,EasyMock不能为它创建一个模拟。

如何使用EasyMock期望

期望对我来说似乎不起作用: package com.jjs.caf.library.client.drafting; import static org.junit.Assert.*; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; import com.jjs.caf.library.client.CustomerManager; import com.jjs.caf.library.client.UserBookLimiter; public class DraftTest { UserBookLimiter userBookLimiter; int expected = 5; @Before public void setUp() throws Exception { userBookLimiter = EasyMock.createMock(UserBookLimiter.class); EasyMock.expect(userBookLimiter.getMaxNumberOfBooksAllowed()).andReturn(5); } @Test public final void test() { assertEquals(expected, userBookLimiter.getMaxNumberOfBooksAllowed()); } } 它应该是5,但我得到0,好像期望不会在那里…

如何模拟void方法抛出exception?

我有这样的结构: public class CacheWrapper { private Map innerMap; public CacheWrapper() { //initialize the innerMap with an instance for an in-memory cache //that works on external server //current implementation is not relevant for the problem innerMap = …; } public void putInSharedMemory(Object key, Object value) { innerMap.put(key, value); } public Object getFromSharedMemory(Object key) { return innerMap.get(key); […]

如何编写unit testing以validation函数是否对其结果进行排序?

我有一个数据源,我可以从中请求一个(任何)国家/地区的人员列表,以及一个从该数据源检索人员并按字母顺序按名称对其进行排序的方法。 我应该如何编写unit testing以确保我的方法的排序部分正常工作? 这就是我的SUT的样子: class PeopleStuff { public IData data; public List getSortedPeopleForCountry(String countryName) { List people = data.getPeopleForCountry(countryName); Comparator nameComparator = new PersonNameComparator(); Collections.sort(people, nameComparator); return people; } } 这就是我的unit testing的样子: @Test public void testGetPeopleSortsByPeopleName() { String COUNTRY = “Whatistan”; // set up test (the 3 lines below are actually in a @Before setup […]

EasyMock中’same’和’eq’之间的区别

EasyMock中’same’和’eq’之间是否存在显着(甚至任何)差异?

我可以模拟一个超类方法调用吗?

有时候,你想要测试一个类方法,并且你希望在调用超类方法时做一个期望。 我没有找到一种方法来使用easymock或jmock在java中做这个期望(我认为这是不可能的)。 有一个(相对)干净的解决方案,用超类方法逻辑创建一个委托,然后设置它的期望,但我不知道为什么以及何时使用该解决方案?任何想法/例子? 谢谢

java.lang.IllegalStateException:前面的方法调用getMessage(“title”)缺少行为定义

我正在使用EasyMock(版本2.4)和TestNG来编写UnitTest。 我有一个以下场景,我不能改变定义类层次结构的方式。 我正在测试扩展ClassA的ClassB。 ClassB看起来像这样 public class ClassB extends ClassA { public ClassB() { super(“title”); } @Override public String getDisplayName() { return ClientMessages.getMessages(“ClassB.title”); } } ClassA代码 public abstract class ClassA { private String title; public ClassA(String title) { this.title = ClientMessages.getMessages(title); } public String getDisplayName() { return this.title; } } ClientMessages类代码 public class ClientMessages { private […]