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

时间:2016-10-26 08:13:51

标签: eclipse spring ant integration-testing hybris

我可以使用'ant alltests'命令从hybris platform目录执行测试用例,但不能从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

2 个答案:

答案 0 :(得分:0)

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

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

然后在你的ant视图中点击添加构建文件(在带有+的ant图标上),这将显示工作集中的所有项目(必须导入平台扩展),选择platform/build.xml

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

答案 1 :(得分:0)

是的,这是可能的。

实际上,使用hybris 6.1和Eclispe Neon,我能够从hybris项目中运行Junit测试而没有任何GUI故障。

要使测试在Eclispe中运行,您必须确保

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

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

  • 打开运行菜单
  • 打开运行配置对话框
  • 运行配置对话框中,选择您的测试配置
  • 转到 Classpath 标签。
  • 点击添加项目按钮。
  • 在“项目选择”对话框中,选择您在 localextensions.xml 文件中配置的所有扩展名。

hybris的其他提示

  

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

关于您的具体问题

发布MCVE会很棒,因为问题可能与您的特定测试有关。以上提示可以帮助您。尝试从hybris成功运行测试,然后再尝试自己的测试。

资源和进一步阅读

Testing in SAP Hybris Commerce - 检查 Eclipse 部分

Eclipse workspace errors - A Complete guide - 包含更多资源来解决Eclipse中的错误

The Hybris Testweb Frontend - 如果您想从此界面测试测试,请考虑在<{1}}之前初始化