2013-09-30 37 views
0

我试图将产品添加到我的车,这样的产品:的hybris FlexibleSearchService无法找到实际存在

cartFacade.addToCart("M300044", 2); 

它失败:产品代码为“M300044”未找到!

当我调试的代码,我发现,这个查询由FlexibleSearchService.search(查询)执行:

SELECT {c:pk} FROM {Product AS c} WHERE {c:code}='M300044' 

如果我执行这个查询我的hybris管理控制台,我得到一个产品作为结果。

为什么不能通过FlexibleSearchService找到它?这与在某处设置目录版本有关吗?

回答

2

在这种情况下,这是因为我是从Test类做到这一点的,所以hybris无法找到该产品,因为在junit租户中没有任何数据。

所以我不得不在我的Test类的setup方法中创建数据,它在调用实际测试方法之前执行。

-1

你需要充分SOLR索引从HMC的产品才可以出现在前端存储或使用hypris的API 希望帮助

+0

正在执行的查询不使用任何SOLR索引。 –

0

检查可用的库存产品在HMC。这可以帮助你

+0

股票级别不是这里where子句的条件。 –

1

你需要让你已经设置会话用户=管理员肯定一两件事,因为如果有应用乌尔产品的限制那么你的测试用例将无法正常工作

0

我相信这是一个同步问题。 STAGED产品版本与在线不一致。 你有两种选择。 HMC>系统>构面搜索>索引器向导。 产品驾驶舱。

0

通过检查导入的样本数据来初始化Junit租户,以便您在生产中使用的数据可用于测试。