【发布时间】:2013-10-08 19:34:35
【问题描述】:
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 的测试类。
我得到的异常如下:
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); }返回_服务; }private 静态 CompanyLocalService _service; // 由于空间限制,我没有提供 setService 方法。