1

我正在尝试将产品添加到我的购物车,如下所示:

cartFacade.addToCart("M300044", 2);

它失败了:找不到代码“M300044”的产品!

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

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

如果我在我的 hybris 管理控制台上执行此查询,我确实会得到一个产品。

为什么 FlexibleSearchService 找不到呢?是否与在某处设置目录版本有关?

4

6 回答 6

3

在这种情况下,这是因为我是在测试类中执行此操作的,所以 hybris 找不到该产品,因为 junit 租户中没有任何数据。

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

于 2013-10-08T15:11:51.883 回答
1

您需要确保您已设置会话 user = admin 的另一件事,因为如果您的产品受到限制,那么您的测试用例将无法工作

于 2013-10-10T07:08:19.710 回答
1

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

于 2015-06-05T08:14:01.407 回答
0

检查 hmc 中产品的可用库存。愿这对你有帮助

于 2013-10-03T16:29:46.707 回答
0

初始化 Junit 租户,因此通过检查 import sample data yes 以便您在生产中拥有的数据可用于测试。

于 2016-06-09T04:36:20.540 回答
-1

您需要对来自 hmc 的产品进行完整的 SOLR 索引,然后才能出现在前端商店或使用 hypris API 希望对您有所帮助

于 2013-09-30T17:48:01.127 回答