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



我可以使用'ant alltests'命令从hybris平台目录执行测试用例,但不能从eclipse执行。

在eclipse中执行测试用例时出现以下错误->右键单击-> run as -> JUnit test

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

是的,这是可能的。

实际上,使用hybris 6.1和eclipse Neon,我可以在GUI中运行hybris项目中的Junit测试,而不会遇到任何麻烦。

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

  • 您的所有项目都在Eclipse中正确配置(没有错误)
  • 所有依赖项都存在于您的工作区
  • localextensions.xml文件中所有已配置的扩展都注册在Eclipse JUnit测试配置的类路径中。

要修复最后一点,执行以下步骤

  • 打开运行菜单
  • 打开运行配置对话框在Run Configurations对话框中,选择您的测试配置
  • 进入Classpath选项卡。
  • 点击添加项目按钮。
  • 在Project Selection对话框中,选择您在localextensions.xml文件中配置的所有扩展名。

来自hybris的其他提示

如果你的Spring配置在启动时没有被引导对于Hybris平台,Spring文件可能不是测试的一部分类路径中。这可能是由于缺少项目造成的类路径,或者不包括Eclipse中的资源文件夹类路径。确保.classpath文件包含以下行:<classpathentry exported="true" kind="lib" path="resources"/>


关于您的具体问题

这将是伟大的张贴MCVE,因为问题可能是相对于您的具体测试。以上建议可以帮助你。在尝试自己的测试之前,请尝试从hybris成功运行测试。


参考资料及进一步阅读

在SAP Hybris Commerce中测试-检查Eclipse部分

Eclipse工作空间错误-完整指南-包含更多资源来解决Eclipse中的错误

Hybris Testweb前端—如果您想从这个接口测试您的测试,请考虑在

之前初始化junit tenant

你必须在eclipse中使用ant, (window> preferences> ant> runtime> ant home>并指定你的ant文件夹在哪里,例如:C:Program FilesAntapache-ant-1.9.1)

then (window> show view> Other> select ant)

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

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

最新更新