Use @Profile to decide to execute test class










0















According to https://stackoverflow.com/a/33042872/4106030
we should not use @Profile to let a spring profile decide whether all tests in a test class shall be executed or ignored.



There is stated:




@Profile is used to selectively enable a component (e.g., @Service, etc.), @Configuration class, or @Bean method if one of the named bean definition profiles is active in the Spring Environment for the ApplicationContext. This annotation is not directly related to testing: @Profile should not be used on a test class.




Is this true? If yes then why?










share|improve this question




























    0















    According to https://stackoverflow.com/a/33042872/4106030
    we should not use @Profile to let a spring profile decide whether all tests in a test class shall be executed or ignored.



    There is stated:




    @Profile is used to selectively enable a component (e.g., @Service, etc.), @Configuration class, or @Bean method if one of the named bean definition profiles is active in the Spring Environment for the ApplicationContext. This annotation is not directly related to testing: @Profile should not be used on a test class.




    Is this true? If yes then why?










    share|improve this question


























      0












      0








      0








      According to https://stackoverflow.com/a/33042872/4106030
      we should not use @Profile to let a spring profile decide whether all tests in a test class shall be executed or ignored.



      There is stated:




      @Profile is used to selectively enable a component (e.g., @Service, etc.), @Configuration class, or @Bean method if one of the named bean definition profiles is active in the Spring Environment for the ApplicationContext. This annotation is not directly related to testing: @Profile should not be used on a test class.




      Is this true? If yes then why?










      share|improve this question
















      According to https://stackoverflow.com/a/33042872/4106030
      we should not use @Profile to let a spring profile decide whether all tests in a test class shall be executed or ignored.



      There is stated:




      @Profile is used to selectively enable a component (e.g., @Service, etc.), @Configuration class, or @Bean method if one of the named bean definition profiles is active in the Spring Environment for the ApplicationContext. This annotation is not directly related to testing: @Profile should not be used on a test class.




      Is this true? If yes then why?







      java spring spring-boot spring-test spring-profiles






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 15 '18 at 12:49









      user7294900

      23.7k123464




      23.7k123464










      asked Nov 15 '18 at 6:17









      baderabadera

      762928




      762928






















          1 Answer
          1






          active

          oldest

          votes


















          0














          It's true because @Profile effects Spring components and not connected to Test framework.



          Nevertheless, you can have test profile which will load Spring components ( as Configuration classes) when you running tests



          Example of Test class with profile:



          // load related configuration classes
          @ContextConfiguration(classes = TestConfiguration.class )
          @ActiveProfiles(profiles = "testing" )
          public class MyTest extends AbstractTestNGSpringContextTests {





          share|improve this answer

























          • But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

            – badera
            Nov 15 '18 at 6:44











          • @badera you exclude tests using testng/junit tools. add test class with profile

            – user7294900
            Nov 15 '18 at 6:45












          • Can you show how? - the source of decision should be if a spring profile is set or not

            – badera
            Nov 15 '18 at 6:48











          • I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

            – badera
            Nov 15 '18 at 6:51












          • @badera the comment you asked in your question is only about @Profile which isn't present in my test class

            – user7294900
            Nov 15 '18 at 6:53











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53313489%2fuse-profile-to-decide-to-execute-test-class%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          It's true because @Profile effects Spring components and not connected to Test framework.



          Nevertheless, you can have test profile which will load Spring components ( as Configuration classes) when you running tests



          Example of Test class with profile:



          // load related configuration classes
          @ContextConfiguration(classes = TestConfiguration.class )
          @ActiveProfiles(profiles = "testing" )
          public class MyTest extends AbstractTestNGSpringContextTests {





          share|improve this answer

























          • But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

            – badera
            Nov 15 '18 at 6:44











          • @badera you exclude tests using testng/junit tools. add test class with profile

            – user7294900
            Nov 15 '18 at 6:45












          • Can you show how? - the source of decision should be if a spring profile is set or not

            – badera
            Nov 15 '18 at 6:48











          • I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

            – badera
            Nov 15 '18 at 6:51












          • @badera the comment you asked in your question is only about @Profile which isn't present in my test class

            – user7294900
            Nov 15 '18 at 6:53















          0














          It's true because @Profile effects Spring components and not connected to Test framework.



          Nevertheless, you can have test profile which will load Spring components ( as Configuration classes) when you running tests



          Example of Test class with profile:



          // load related configuration classes
          @ContextConfiguration(classes = TestConfiguration.class )
          @ActiveProfiles(profiles = "testing" )
          public class MyTest extends AbstractTestNGSpringContextTests {





          share|improve this answer

























          • But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

            – badera
            Nov 15 '18 at 6:44











          • @badera you exclude tests using testng/junit tools. add test class with profile

            – user7294900
            Nov 15 '18 at 6:45












          • Can you show how? - the source of decision should be if a spring profile is set or not

            – badera
            Nov 15 '18 at 6:48











          • I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

            – badera
            Nov 15 '18 at 6:51












          • @badera the comment you asked in your question is only about @Profile which isn't present in my test class

            – user7294900
            Nov 15 '18 at 6:53













          0












          0








          0







          It's true because @Profile effects Spring components and not connected to Test framework.



          Nevertheless, you can have test profile which will load Spring components ( as Configuration classes) when you running tests



          Example of Test class with profile:



          // load related configuration classes
          @ContextConfiguration(classes = TestConfiguration.class )
          @ActiveProfiles(profiles = "testing" )
          public class MyTest extends AbstractTestNGSpringContextTests {





          share|improve this answer















          It's true because @Profile effects Spring components and not connected to Test framework.



          Nevertheless, you can have test profile which will load Spring components ( as Configuration classes) when you running tests



          Example of Test class with profile:



          // load related configuration classes
          @ContextConfiguration(classes = TestConfiguration.class )
          @ActiveProfiles(profiles = "testing" )
          public class MyTest extends AbstractTestNGSpringContextTests {






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 15 '18 at 6:44

























          answered Nov 15 '18 at 6:22









          user7294900user7294900

          23.7k123464




          23.7k123464












          • But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

            – badera
            Nov 15 '18 at 6:44











          • @badera you exclude tests using testng/junit tools. add test class with profile

            – user7294900
            Nov 15 '18 at 6:45












          • Can you show how? - the source of decision should be if a spring profile is set or not

            – badera
            Nov 15 '18 at 6:48











          • I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

            – badera
            Nov 15 '18 at 6:51












          • @badera the comment you asked in your question is only about @Profile which isn't present in my test class

            – user7294900
            Nov 15 '18 at 6:53

















          • But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

            – badera
            Nov 15 '18 at 6:44











          • @badera you exclude tests using testng/junit tools. add test class with profile

            – user7294900
            Nov 15 '18 at 6:45












          • Can you show how? - the source of decision should be if a spring profile is set or not

            – badera
            Nov 15 '18 at 6:48











          • I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

            – badera
            Nov 15 '18 at 6:51












          • @badera the comment you asked in your question is only about @Profile which isn't present in my test class

            – user7294900
            Nov 15 '18 at 6:53
















          But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

          – badera
          Nov 15 '18 at 6:44





          But it does work... Can you show what you mean by having a test profile? What I need is just a simple way to decide by a spring profile whether some specific test classes are executed or not.

          – badera
          Nov 15 '18 at 6:44













          @badera you exclude tests using testng/junit tools. add test class with profile

          – user7294900
          Nov 15 '18 at 6:45






          @badera you exclude tests using testng/junit tools. add test class with profile

          – user7294900
          Nov 15 '18 at 6:45














          Can you show how? - the source of decision should be if a spring profile is set or not

          – badera
          Nov 15 '18 at 6:48





          Can you show how? - the source of decision should be if a spring profile is set or not

          – badera
          Nov 15 '18 at 6:48













          I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

          – badera
          Nov 15 '18 at 6:51






          I am very confused because @ActiveProfiles sets the current profile and does not make the execution of tests depending on, if the listed profile is set or not. At least this is what I actually observe to happen and what is also written in stackoverflow.com/a/33042872/4106030

          – badera
          Nov 15 '18 at 6:51














          @badera the comment you asked in your question is only about @Profile which isn't present in my test class

          – user7294900
          Nov 15 '18 at 6:53





          @badera the comment you asked in your question is only about @Profile which isn't present in my test class

          – user7294900
          Nov 15 '18 at 6:53



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53313489%2fuse-profile-to-decide-to-execute-test-class%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Use pre created SQLite database for Android project in kotlin

          Darth Vader #20

          Ondo