Is your surefire set up to a fork a new VM for each testclass whereas intellij reuses?
On Tue, Jan 15, 2019, 07:56 a.tokare...@gmail.com <a.tokare...@gmail.com wrote: > > > On 2019/01/13 12:17:14, Robert Kleinschmager <rob...@kleinschmager.net> > wrote: > > Your configuration looks fine for your task, but I’m sorry - I have no > hint, why IntelliJ is faster. > > > > At first: it depends on, how your 500 Tests are organised. How many > test-classes, how many methods do they have? > > Are you running JUnit4 or already Junit5? Are you using Parallel-Mode in > IntelliJ? > > Can you see in the logs, how many times the spring-context is created & > destroyed? > > > > Looking at the code of the Unit-Execution on Intellij [1] and surefire > [2] may bring some more insights, but I’m not familiar with both of them - > it would really help to debug them. > > > > [1] > https://github.com/JetBrains/intellij-community/tree/master/plugins/junit_rt > < > https://github.com/JetBrains/intellij-community/tree/master/plugins/junit_rt > > > > [2] https://github.com/apache/maven-surefire < > https://github.com/apache/maven-surefire> > > > > > Am 08.01.2019 um 14:12 schrieb a.tokare...@gmail.com: > > > > > > > > > > > > On 2019/01/07 16:40:45, Robert Kleinschmager <rob...@kleinschmager.net> > wrote: > > >> Hi Aleksandar, > > >> > > >> Can you please show (attach|) your POM. Maybe your failsafe config is > non-optimal. > > >> In general: Intellij uses a different kind of junit execution, than > failsafe/surefire > > >> > > >> Kind regards > > >> Robert > > >> > > >>> Am 05.01.2019 um 12:20 schrieb Aleksandar Tokarev < > a.tokare...@gmail.com>: > > >>> > > >>> I am having a Spring Boot application with around ~500 Tests (Unit > and > > >>> mostly Integration). > > >>> > > >>> When i start running the tests in IntelliJ with second click -> Run > all > > >>> Tests - tests run in around 10-15mins. > > >>> > > >>> When i try to run the tests with "mvn verify -P itest" in IntelliJ > > >>> terminal, the execution time is around an hour. This is because this > > >>> command starts and stops the Spring Test Runner Server on every class > > >>> (which is not my desired result). > > >>> > > >>> The IntelliJ second click -> Run all Tests starts it only once. Our > Jenkins > > >>> Job is running the tests with "mvn verify -P itest", so my question > is how > > >>> can i change this behavior, to start and stop the Test Runner only > once > > >>> (with this "mvn verify -P itest" command). > > >>> > > >>> itest is the profile that we have in our pom.xml which includes the > classes > > >>> that contain integration tests (using maven failsafe plugin) > > >>> > > >>> Here are the annotations of our base abstract Integration Test class > > >>> > > >>> @RunWith(SpringJUnit4ClassRunner.class) > > >>> @SpringBootTest(classes = MainApplication.class, webEnvironment = > > >>> WebEnvironment.RANDOM_PORT) > > >>> > > >>> I found this article which could by similar to my problem, but this > does > > >>> not explain the behavior that IntelliJ gives me. > > >>> > > >>> Reset Spring-Boot During Integration Tests > > >>> < > https://stackoverflow.com/questions/44241936/reset-spring-boot-during-integration-tests > > > > >>> > > >>> Thanks a lot in advance > > >> > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > >> For additional commands, e-mail: users-h...@maven.apache.org > > >> > > >> <profiles> > > > <profile> > > > <id>itest</id> > > > <activation> > > > <activeByDefault>false</activeByDefault> > > > </activation> > > > <build> > > > <plugins> > > > <plugin> > > > <artifactId>maven-failsafe-plugin</artifactId> > > > <configuration> > > > <forkCount>1</forkCount> > > > <reuseForks>false</reuseForks> > > > <argLine>${args}</argLine> > > > > <testNGArtifactName>none:none</testNGArtifactName> > > > <includes> > > > <include>**/*ITests.java</include> > > > > <include>**/*IntegrationTests.java</include> > > > > <testFailureIgnore>true</testFailureIgnore> > > > </includes> > > > <environmentVariables> > > > > <HOME>${basedir}/target/test-classes</HOME> > > > > <SERVER_HOSTNAME>localhost</SERVER_HOSTNAME> > > > </environmentVariables> > > > </configuration> > > > <executions> > > > <execution> > > > <goals> > > > <goal>integration-test</goal> > > > <goal>verify</goal> > > > </goals> > > > </execution> > > > </executions> > > > </plugin> > > > </plugins> > > > </build> > > > </profile> > > > </profiles> > > > > > > Here is the config for my Failsafe plugin. > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > > For additional commands, e-mail: users-h...@maven.apache.org > > > > > > I am having like like ~40 Classes with ~10-15 methods in each. > I am running JUnit 4, and no i am not using Parallel Mode in Intellij. > In the logs i see the spring context being created & destroyed for each > test class (when running it with mvn verify) > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > >