Liferay 7.1 Integration test

Christian Palombella, modified 6 Years ago. New Member Post: 1 Join Date: 7/8/19 Recent Posts
Hi,
i followed this page (https://portal.liferay.dev/docs/7-1/tutorials/-/knowledge_base/t/injecting-service-components-into-tests) to create a simple integration test for my osgi service.
In my gradle i have imported this dependencies:
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: "com.liferay.portal", name: "com.liferay.portal.kernel"
testCompile group: 'com.liferay.portal', name: 'com.liferay.portal.test.integration'
testCompile group: "com.liferay.portal", name: "com.liferay.portal.test"
My integration test code is very simple:
public class TestIntegration {
    private static Log _log = LogFactoryUtil.getLog(TestIntegration.class);
    @ClassRule
    @Rule
    public static final AggregateTestRule aggregateTestRule = new LiferayIntegrationTestRule();
    
    @Inject(type = MyService.class)
    private static MyService _myService;    
    @Before
    public void setUp() {
        _log.info("Init TestIntegration");
    }
    @Test
    public void schedulerDescription() {
        _log.info("TestIntegration");
    }   
}

If i do a gradle build, this test is never run, but if i launch an jUnit test i have this trace:
java.lang.NoClassDefFoundError: com/liferay/petra/concurrent/ConcurrentReferenceKeyHashMap
&nbsp;&nbsp; &nbsp;at com.liferay.portal.kernel.test.rule.BaseTestRule.<clinit>(BaseTestRule.java:178)
&nbsp;&nbsp; &nbsp;at com.liferay.portal.test.rule.LiferayIntegrationTestRule.<clinit>(LiferayIntegrationTestRule.java:86)
&nbsp;&nbsp; &nbsp;at it.myservice.test.integration.TestIntegration.<clinit>(TestIntegration.java:36)
&nbsp;&nbsp; &nbsp;at sun.misc.Unsafe.ensureClassInitialized(Native Method)
&nbsp;&nbsp; &nbsp;at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
&nbsp;&nbsp; &nbsp;at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
&nbsp;&nbsp; &nbsp;at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
&nbsp;&nbsp; &nbsp;at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
&nbsp;&nbsp; &nbsp;at java.lang.reflect.Field.get(Field.java:393)
&nbsp;&nbsp; &nbsp;at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
&nbsp;&nbsp; &nbsp;at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
&nbsp;&nbsp; &nbsp;at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
&nbsp;&nbsp; &nbsp;at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
&nbsp;&nbsp; &nbsp;at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
&nbsp;&nbsp; &nbsp;at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
&nbsp;&nbsp; &nbsp;at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
&nbsp;&nbsp; &nbsp;at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
&nbsp;&nbsp; &nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
&nbsp;&nbsp; &nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
&nbsp;&nbsp; &nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
&nbsp;&nbsp; &nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.ClassNotFoundException: com.liferay.petra.concurrent.ConcurrentReferenceKeyHashMap
&nbsp;&nbsp; &nbsp;at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
&nbsp;&nbsp; &nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
&nbsp;&nbsp; &nbsp;at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
&nbsp;&nbsp; &nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
&nbsp;&nbsp; &nbsp;... 21 more</clinit></clinit></clinit>

Can anyone help me?
thumbnail
Mohammed Yasin, modified 6 Years ago. Liferay Master Posts: 593 Join Date: 8/8/14 Recent Posts
Hi,
 Try Adding depedency     compileOnly group: "com.liferay", name: "com.liferay.petra.concurrent" in  build.gradle and check
 
thumbnail
Nader Jafari, modified 5 Years ago. Junior Member Posts: 84 Join Date: 8/24/11 Recent Posts
Hi Mohammed
are there any full-example for liferary testIntegrarion?
Or could you please share with me your implementation?
Thanks.