我们可以直接从eclipse执行Hybris集成测试用例吗?

我们可以直接从eclipse执行Hybris集成测试用例吗?,eclipse,spring,ant,integration-testing,hybris,Eclipse,Spring,Ant,Integration Testing,Hybris,我能够使用“antalltests”命令从hybris平台目录执行测试用例,但不能从eclipse执行 从eclipse执行测试用例时出现以下错误->右键单击->运行方式->JUnit测试 INFO [main] (junit) [HybrisContextFactory] - Refreshing SpringContext (hybris Application context - junit) took: (29.48 s) INFO [main] (junit) [HybrisCon

我能够使用“antalltests”命令从hybris平台目录执行测试用例,但不能从eclipse执行

从eclipse执行测试用例时出现以下错误->右键单击->运行方式->JUnit测试

INFO  [main] (junit) [HybrisContextFactory] - Refreshing SpringContext (hybris Application context - junit) took: (29.48 s)
INFO  [main] (junit) [HybrisContextFactory] Initializing application Spring ApplicationContext for tenant junit  took: (31.27 s)
INFO  [main] (junit) [DefaultRMIRegistryService] Unexporting the registry.
de.hybris.platform.core.UninstantiableCoreApplicationContextException: Error creating Spring application context.
    at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.java:728)
    at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:658)
    at de.hybris.platform.core.Registry.assureTenantStarted(Registry.java:639)
    at de.hybris.platform.core.Registry.activateTenant(Registry.java:700)
    at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:544)
    at de.hybris.platform.util.Utilities.setJUnitTenant(Utilities.java:1472)
    at de.hybris.platform.testframework.runlistener.PlatformRunListener.testRunStarted(PlatformRunListener.java:44)
    at de.hybris.platform.testframework.ChainingRunNotifierWrapper$1.notifyListener(ChainingRunNotifierWrapper.java:97)
    at de.hybris.platform.testframework.ChainingRunNotifierWrapper$SafeNotifier.run(ChainingRunNotifierWrapper.java:239)
    at de.hybris.platform.testframework.ChainingRunNotifierWrapper.fireTestRunStarted(ChainingRunNotifierWrapper.java:99)
    at de.hybris.platform.testframework.HybrisJUnit4ClassRunner.run(HybrisJUnit4ClassRunner.java:124)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name

您必须使用eclipse中的ant(窗口>首选项>ant>运行时>ant home>,并指定ant文件夹的位置,例如:
C:\Program Files\ant\apache-ant-1.9.1

然后(窗口>显示视图>其他>选择蚂蚁)

然后在ant视图中单击add build files(在带有+)的ant图标上),这将显示工作集中的所有项目(必须导入平台扩展)选择
platform/build.xml

在ant视图中,您将看到所有命令都显示出来,您可以从eclipse而不是命令行执行任何操作。

是的,这是可能的。 实际上,有了hybris 6.1和Eclispe Neon,我能够从hybris项目中运行Junit测试,而不会遇到GUI方面的任何问题

要使测试在Eclispe中工作,您必须确保

  • 您的所有项目都在Eclipse中正确配置(没有错误)
  • 所有依赖项都存在于您的工作区中
  • localextensions.xml文件的所有配置扩展名都在Eclipse JUnit测试配置的类路径中注册
要修复最后一点,请执行以下步骤

  • 打开运行菜单
  • “打开运行配置”对话框
  • 在“运行配置”对话框中,选择测试配置
  • 转到Classpath选项卡
  • 单击添加项目按钮
  • 在“项目选择”对话框中,选择在localextensions.xml文件中配置的所有扩展名
来自hybris的其他提示

如果您的Spring配置在启动时没有得到引导 对于Hybris平台,Spring文件可能不是测试的一部分 类路径。这可能是由以下两种情况造成的: 类路径,或者不在Eclipse中包含资源文件夹 类路径。确保.classpath文件包含 以下行:


关于你的具体问题 发布一篇文章会很好,因为这个问题可能与您的特定测试有关。以上提示可以帮助你。在尝试自己的测试之前,请尝试从hybris成功运行测试


资源和进一步阅读 -检查Eclipse部分

-包含更多用于解决Eclipse中错误的资源


-如果您想从该接口测试测试,请考虑在使用platform/build.xml目标之前初始化
junit租户
,在某些情况下,我们只能对所有扩展或特定扩展执行测试,如果我们只需要对TDD执行一个测试会怎么样,实际上,你不能运行一个需要运行tomcat的测试类,因为它会尝试启动主租户,如果你使用mockito它应该是OK的,这是绝对可能的,我的一些团队成员一直在这样做。关键是要正确设置调试/运行时配置(我这里没有准备好,抱歉:)您是否调用了
Registry.activeMasterTenant()
方法之前的
@中的
方法?我在从eclipse执行测试时遇到了几个不同的问题,比如这个问题,最后使用了hybris testweb控制台,您可以从
ip:9001/test/
访问该控制台。希望这有帮助。无法从testweb控制台运行web模块测试。请查看: