How to make Spring Cloud Contract reset WireMock before or after each test The Next CEO of Stack OverflowHow to write integration tests with spring-cloud-netflix and feignConfigure spring cloud contract and Zuul proxy in the same projectSpring TestRestTemplate not autowiring correctlySpring boot Test class annotation errorWiremock returning wrong content-type for Spring Cloud Contract stub runnerSpring Cloud Stub Runner Boot Application and Cloud Stream (Kafka) for Smoke TestSpring cloud contract and webflux routingSpring Cloud Contract Setting `stubsMode` at runtimewhat does the test folder does in spring boot project?Spring boot test : run tasks before and after all tests

How to count occurrences of text in a file?

0 rank tensor vs 1D vector

Why isn't the Mueller report being released completely and unredacted?

Is there a difference between "Fahrstuhl" and "Aufzug"

Does soap repel water?

Axiom Schema vs Axiom

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

Bartok - Syncopation (1): Meaning of notes in between Grand Staff

Why do airplanes bank sharply to the right after air-to-air refueling?

Should I tutor a student who I know has cheated on their homework?

Won the lottery - how do I keep the money?

The exact meaning of 'Mom made me a sandwich'

How to place nodes around a circle from some initial angle?

Running a General Election and the European Elections together

How did people program for Consoles with multiple CPUs?

Math-accent symbol over parentheses enclosing accented symbol (amsmath)

Flying from Cape Town to England and return to another province

Is wanting to ask what to write an indication that you need to change your story?

Does increasing your ability score affect your main stat?

A Man With a Stainless Steel Endoskeleton (like The Terminator) Fighting Cloaked Aliens Only He Can See

Can we say or write : "No, it'sn't"?

Chain wire methods together in Lightning Web Components

Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?

What does "Its cash flow is deeply negative" mean?



How to make Spring Cloud Contract reset WireMock before or after each test



The Next CEO of Stack OverflowHow to write integration tests with spring-cloud-netflix and feignConfigure spring cloud contract and Zuul proxy in the same projectSpring TestRestTemplate not autowiring correctlySpring boot Test class annotation errorWiremock returning wrong content-type for Spring Cloud Contract stub runnerSpring Cloud Stub Runner Boot Application and Cloud Stream (Kafka) for Smoke TestSpring cloud contract and webflux routingSpring Cloud Contract Setting `stubsMode` at runtimewhat does the test folder does in spring boot project?Spring boot test : run tasks before and after all tests










1















We are writing a Spring Boot application and use the Cloud Contract WireMock support to stub a backing service. Our test class is annotated like so:



@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@AutoConfigureWireMock(port = 0)
public class Tests...


This works fine except for one thing: We found out that Spring Cloud does not seem to reset WireMock, in particular delete stubs, in between tests so that tests are not isolated properly. Of course, you can accomplish this yourself with a @Before method containing a reset(), but we wonder whether this is intentional. Is there an option that we have overlooked or an additional annotation one has to use?



After all, it is not possible to define stubs in a @BeforeClass method that would be gone if a reset would always be performed, so we wonder what speaks against doing it out of the box?










share|improve this question




























    1















    We are writing a Spring Boot application and use the Cloud Contract WireMock support to stub a backing service. Our test class is annotated like so:



    @RunWith(SpringRunner.class)
    @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
    @AutoConfigureWireMock(port = 0)
    public class Tests...


    This works fine except for one thing: We found out that Spring Cloud does not seem to reset WireMock, in particular delete stubs, in between tests so that tests are not isolated properly. Of course, you can accomplish this yourself with a @Before method containing a reset(), but we wonder whether this is intentional. Is there an option that we have overlooked or an additional annotation one has to use?



    After all, it is not possible to define stubs in a @BeforeClass method that would be gone if a reset would always be performed, so we wonder what speaks against doing it out of the box?










    share|improve this question


























      1












      1








      1








      We are writing a Spring Boot application and use the Cloud Contract WireMock support to stub a backing service. Our test class is annotated like so:



      @RunWith(SpringRunner.class)
      @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
      @AutoConfigureWireMock(port = 0)
      public class Tests...


      This works fine except for one thing: We found out that Spring Cloud does not seem to reset WireMock, in particular delete stubs, in between tests so that tests are not isolated properly. Of course, you can accomplish this yourself with a @Before method containing a reset(), but we wonder whether this is intentional. Is there an option that we have overlooked or an additional annotation one has to use?



      After all, it is not possible to define stubs in a @BeforeClass method that would be gone if a reset would always be performed, so we wonder what speaks against doing it out of the box?










      share|improve this question
















      We are writing a Spring Boot application and use the Cloud Contract WireMock support to stub a backing service. Our test class is annotated like so:



      @RunWith(SpringRunner.class)
      @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
      @AutoConfigureWireMock(port = 0)
      public class Tests...


      This works fine except for one thing: We found out that Spring Cloud does not seem to reset WireMock, in particular delete stubs, in between tests so that tests are not isolated properly. Of course, you can accomplish this yourself with a @Before method containing a reset(), but we wonder whether this is intentional. Is there an option that we have overlooked or an additional annotation one has to use?



      After all, it is not possible to define stubs in a @BeforeClass method that would be gone if a reset would always be performed, so we wonder what speaks against doing it out of the box?







      java spring spring-cloud wiremock






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 11 at 6:43







      arcimboldo

















      asked Mar 8 at 15:28









      arcimboldoarcimboldo

      113




      113






















          1 Answer
          1






          active

          oldest

          votes


















          1














          The WireMock server can be reset at any time, removing all stub mappings and deleting the request log. If you’re using either of the JUnit rules this will happen automatically at the start of every test case. However you can do it yourself via a call to WireMock.reset() in Java or sending a POST request with an empty body to http://<host>:<port>/__admin/reset.



          To reset just the stub mappings leaving the request log intact send a DELETE to http://<host>:<port>/__admin/mappings.



          Hope this is useful.






          share|improve this answer























          • Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

            – arcimboldo
            Mar 12 at 8:25











          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%2f55066307%2fhow-to-make-spring-cloud-contract-reset-wiremock-before-or-after-each-test%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









          1














          The WireMock server can be reset at any time, removing all stub mappings and deleting the request log. If you’re using either of the JUnit rules this will happen automatically at the start of every test case. However you can do it yourself via a call to WireMock.reset() in Java or sending a POST request with an empty body to http://<host>:<port>/__admin/reset.



          To reset just the stub mappings leaving the request log intact send a DELETE to http://<host>:<port>/__admin/mappings.



          Hope this is useful.






          share|improve this answer























          • Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

            – arcimboldo
            Mar 12 at 8:25















          1














          The WireMock server can be reset at any time, removing all stub mappings and deleting the request log. If you’re using either of the JUnit rules this will happen automatically at the start of every test case. However you can do it yourself via a call to WireMock.reset() in Java or sending a POST request with an empty body to http://<host>:<port>/__admin/reset.



          To reset just the stub mappings leaving the request log intact send a DELETE to http://<host>:<port>/__admin/mappings.



          Hope this is useful.






          share|improve this answer























          • Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

            – arcimboldo
            Mar 12 at 8:25













          1












          1








          1







          The WireMock server can be reset at any time, removing all stub mappings and deleting the request log. If you’re using either of the JUnit rules this will happen automatically at the start of every test case. However you can do it yourself via a call to WireMock.reset() in Java or sending a POST request with an empty body to http://<host>:<port>/__admin/reset.



          To reset just the stub mappings leaving the request log intact send a DELETE to http://<host>:<port>/__admin/mappings.



          Hope this is useful.






          share|improve this answer













          The WireMock server can be reset at any time, removing all stub mappings and deleting the request log. If you’re using either of the JUnit rules this will happen automatically at the start of every test case. However you can do it yourself via a call to WireMock.reset() in Java or sending a POST request with an empty body to http://<host>:<port>/__admin/reset.



          To reset just the stub mappings leaving the request log intact send a DELETE to http://<host>:<port>/__admin/mappings.



          Hope this is useful.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 11 at 6:54









          Mebin JoeMebin Joe

          473616




          473616












          • Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

            – arcimboldo
            Mar 12 at 8:25

















          • Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

            – arcimboldo
            Mar 12 at 8:25
















          Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

          – arcimboldo
          Mar 12 at 8:25





          Thanks for your reply. Because we are using the WireMock support of Spring Cloud Contract, we do not use the WireMockRule. My question is: Why does Cloud Contract not reset WireMock before each test automatically? Is this intentional, and if so why? Or is it a involuntary omission, aka bug?

          – arcimboldo
          Mar 12 at 8:25



















          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%2f55066307%2fhow-to-make-spring-cloud-contract-reset-wiremock-before-or-after-each-test%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

          How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

          Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

          List of MPs elected to the English parliament in 1640 (April) Contents List of constituencies and members See also Notes References Navigation menueNational Archives – The Glynde Place ArchivesCobbett's Parliamentary history of England, from the Norman Conquest in 1066 to the year 1803'Aldermen in Parliament', The Aldermen of the City of London: Temp. Henry III – 1912onepage&q&f&#61, false 229