public class CustomServiceImplTest extends TestCase{
ApplicationContext ac;
private BeanLocator mockBeanLocator;
@Test
public void testCreateCategory() throws Exception {
CustomService customService = (CustomService) ac.getBean("customService");
customService.CreateCategory();
}
@Before
public void setUp()
{
mockBeanLocator = Mockito.mock(BeanLocator.class);
PortalBeanLocatorUtil.setBeanLocator(mockBeanLocator);
CompanyLocalServiceUtil mockCompanyLocalService = Mockito.mock(CompanyLocalServiceUtil.class);
ac = CustomSpringUtils.loadApplicationContext(new String[] { ""/applicationContext-Services.xml" });
}
}
我正在使用基本的JUnit 4并创建上面的测试类来扩展TestCase。Junit测试 - com.liferay.portal.kernel.bean.BeanLocatorException:BeanLocator尚未设置
我正的例外如下:
java.lang.NullPointerException at com.liferay.portal.service.CompanyLocalServiceUtil.getCompanyByWebId(CompanyLocalServiceUtil.java:498)
以下方法customService.CreateCategory();已经调用了Lifery util方法,如CompanyLocalServiceUtil.getCompanyByWebId等。
请任何人都对此有所了解。我非常感谢任何帮助。
我是否需要在spring配置文件中提供Liferay DS信息?或
有没有什么办法可以将数据剔除?
我想在Liferay的实体类的一个测试ADD操作 -
MBCategoryLocalServiceUtil.addCategory(...)
您可以提供CompanyLocalServiceUtil的源代码吗?我找不到超过300行的任何源代码。干杯 –
public static CompanyLocalService getService(){ if(_service == null){ _service =(CompanyLocalService)PortalBeanLocatorUtil.locate(CompanyLocalService.class.getName()); ReferenceRegistry.registerReference(CompanyLocalServiceUtil.class, “_service”); MethodCache.remove(CompanyLocalService.class); } return _service; } private static CompanyLocalService _service; //我没有提供setService方法,因为它是空间限制。 – Sri