8 ms·
WireMock
- amleszk 8y agoCan anyone comment on how useful this is for testing iOS and Android apps?
- mahesh_rm 8y agoWhile I can easily see how this can be part of frontend development workflow, enabling "frontend-first" app development, TBH, I fail to see how this tool can be helpful for testing purposes. Something like http://www.apilope.com/ http://www.apilope.com/ or https://uptimerobot.com/ https://uptimerobot.com/ do test the real thing, rather than a simple collection of mock templates.
- Consultant32452 8y agoTwo totally different tools/purposes. Wiremock is not used to test your web service, it's mocking the web service so you can quickly code up your client work. In particular, this is useful if you will eventually be consuming web services which do not yet exist. You can quickly mock up some JSON/XML responses and hit them using real HTTP request and response.
- mahesh_rm 8y agoIndeed, you rephrased what I was saying. I fail to see how wiremock can help you "testing" your infrastructure (frontend in this case), as opposed to be saving you time during development of interfaces (use case that I can see it useful for).
- Consultant32452 8y agoI'm afraid I may not clearly understand what you mean by "testing" then. I worked on one project where we used Wiremock extensively. Development and QA was done against the mocks because the real target system did not exist yet. Everything from business logic to error handling and even load testing was done against wiremock. Even when the other system got up and running, some conditions were impossible to test without wiremock. For example, what if the web service we hit returns a 500 error? Well, the real system never did that in practice. But with wiremock we could do that whenever we wanted. Of course, we still had to do integration testing before going live, but wiremock saved us a TON of time for development and QA.
- mahesh_rm 8y ago"Development and QA was done against the mocks because the real target system did not exist yet." Wouldn't this be frontend discovery/development, rather than frontend testing? In this case, I recognize the tool can be useful. "For example, what if the web service we hit returns a 500 error?" Isn't this what development and staging environments are for? Not trying to be polemic/destructive, I just see building and maintaining mock api templates as a further overhead, when specific backend behavior can be simulated in an alternative deployment environment once a backend is in fact there. But maybe I don't fully understand the constraints posed by workflows other than mine! :-)
- Consultant32452 8y agoYou may not have any control whatsoever over the backend. You may not even have the ability to create data scenarios you want to test. Creating large/complex data scenarios is almost always more time intense than creating a mock. Honestly, creating simple data scenarios is almost always more time intense than creating a mock.
- tomakehurst 8y agoHi, WireMock creator here. Lots of folks use WireMock for Android testing. Definitely worth checking out Sam Edwards' blog and conference presentations on this, e.g. https://handstandsam.com/2016/01/30/running-wiremock-on-android/ https://handstandsam.com/2016/01/30/running-wiremock-on-andr...
- ascorbic 8y agoI've no idea why, but all of your comments were dead. I've vouched for them, so hopefully people will be able to see them now. Seems a bit silly to have the author in the thread, but all of his comments hidden!
- tomakehurst 8y agoStrange. I could see them OK. Thanks for vouching (assuming you can see this one)!
- ascorbic 8y agoYou can always see your own comments. I have "show dead" enabled, but that comment was fine anyway.
- tomakehurst 8y agoMore generally, it's useful for mobile development in the following scenarios: * The back-end API you depend on isn't ready yet * The back-end test server is slow, flakey etc. * You want to test scenarios you can't easily make happen on demand like slow responses, 503 errors, dropped connections etc. Worth mentioning that even if you're not driving WireMock from Java (or another language binding), you can run it on your laptop or a server from a bunch of JSON files. This makes it usable with e.g. iOS apps. Alternatively you can use https://www.mocklab.io https://www.mocklab.io, which is 100% compatible, but hosted, has a UI etc.
- usrusr 8y agoCan be very useful when your testing is troubled by permanently changing backend data or when some cases are hard to get examples of. Imagine writing a front-end to a third party weather API: recording gets you repeatable examples and slightly edited copies of those recordings allow you to check unobserved extremes without manually mocking out the whole thing.
- Serow225 8y agoHere's a really good video talk of some real-world mobile testing: https://www.youtube.com/watch?v=8hK_BQVqvZ0 https://www.youtube.com/watch?v=8hK_BQVqvZ0
- Serow225 8y agoAlso this video talk: https://www.youtube.com/watch?v=-xQCNf_5NNM https://www.youtube.com/watch?v=-xQCNf_5NNM
- ynniv 8y agoIt's an obvious design choice, but when I see the logo I can only think of https://en.wikipedia.org/wiki/Waste_Management_(corporation) https://en.wikipedia.org/wiki/Waste_Management_(corporation).
- camelCaseOfBeer 8y agoThis is the exact comment I intended on leaving the second I saw that logo. Funny for a product intended for throw-away. It must be effective design though because it isn't even the garbage collection my city uses. That said the product itself may be worth excitement. As a developer working on APIs for a consulting team I'm going to show them this and give it a shot. It may be more effective than nitpicking at my swashbuckler generated swagger.
- squidbot 8y agoI was just about to come and post the same thing. It's hard to imagine it's not intentional, even the contrasting colors are similar and on the same sides. I'd think the authors may want to reconsider the logo as they have some commercialization of the tool (pro support.)
- nvarsj 8y agoWireMock was born in London, UK, so I doubt the author was aware of the connection. Or maybe he was, and it's tongue in cheek humor :).
- squidbot 8y agoMy concern was more that the logo was outsourced to someone who copied the Waste Management design.
- tomakehurst 8y agoI can confirm it was neither intentional, nor copied!
- 8y ago
- nurettin 8y agoNow if this had code generation capabilities for .net core, spring boot or rails-api it would have piqued some interest.
- kyberias 8y agoWhat benefits does mocking a HTTP service provide when compared to mocking the adapter code that makes the call? App -> Adapter -> Service App -> Adapter -> MockService App -> MockAdapter
- tobiaswk 8y agoVery similar to https://getsandbox.com/ https://getsandbox.com/.
- movence 8y agoso is it similar to Polly.js by Netflix but written in Java?
- notdang 8y agoExcept that Polly.js was released this year and WireMock a couple of years ago.
- tomakehurst 8y agoWireMock was originally released in 2011
- DerpyBaby123 8y agoFor anyone interested, mountebank[1] is an also-good OSS alternative in the same space [1]http://www.mbtest.org http://www.mbtest.org
- no_one_ever 8y ago+1 for mb. I tried using wiremock for mocking HTTP requests to our microservices' downstream dependencies. Rather than using a standalone wiremock server, we used the java lib. Periodically the connection would drop and our tests would fail. Switched to a standalone mock and haven't experienced this issue since.
- w4tson 8y agoWe tried both Mountebank and Wiremock and opted for Wiremock as it had more features we needed. We run thousands of tests every time a developer commits and we see no problems using the Java API. We did run into an issue a small when we parallelized our tests. After a certain parallel factor we saw what looked like Wiremock not being able to keep up. However this might be FUD and we were running these tests all on one machine including a docker-composed test harness so there were a lot of moving parts Overall Wiremock is excellent. I really rate the functionality to attach state to scenarios. You can model quite complex behaviour with this
- swsieber 8y agoTotally (mostly) off topic: I'd love to see an index of who uses what. I see the who's using us section, and some of those names look familiar from other sections. So it'd be fun to flip things and show what any given company is using. I dunno, maybe scrap prodcuts from product hunt?
- kozhevnikov 8y agohttps://stackshare.io https://stackshare.io
- Arkanosis 8y agoIf I understand well what you mean, you might like https://stackshare.io/ https://stackshare.io/ :)
- swsieber 8y agoWell, I feel extremely foolish, having seen that site before.
- vinniejames 8y agoI've been using https://www.mocky.io https://www.mocky.io Source: https://github.com/julien-lafont/Mocky https://github.com/julien-lafont/Mocky
- segmondy 8y agoI've been using json-server for quite a while, https://github.com/typicode/json-server https://github.com/typicode/json-server
- yoaviram 8y agoThere's also a paid hosted version by the creator of Wiremock at https://mocklab.io https://mocklab.io It has a great UI, team collaboration and other awesome add ons on top of vanilla Wiremock.
- chasingthewind 8y agoI used WireMock extensively in a recent project that had a dependency on flaky REST API. Using the proxy/recording feature to quickly get some canned responses from the dependency allowed us to perform integration testing even though the dependency was frequently down...we basically mocked it away so we could have a reliable CI environment. Later on we were able to stabilize the dependency but we kept the mock service in several cases because it provided significant flexibility.
- Serow225 8y agoThe creator has a hosted version at https://mocklab.io/ https://mocklab.io/, and he's extremely responsive to support and feature request implementation.
- technotarek 8y agoPostman?
- technotarek 8y agoNo affiliation, just a happy user. https://www.getpostman.com https://www.getpostman.com
- craigt00 8y agoThere's also a .net implementation here - https://github.com/WireMock-Net/WireMock.Net https://github.com/WireMock-Net/WireMock.Net
- a-wu 8y agoI wanted to use WireMock for a project, but iirc you can't mock streaming connections. Does anyone know a similar product that supports this?
- matrix 8y agoLooking at this, I can't seem to find any examples of Wiremock being used to test async callbacks, which is one of the more challenging things to get right. Can anyone point to some documentation or code samples showing how to do this in Wiremock?
- tomakehurst 8y agoIf by async callbacks you mean something akin to webhooks, then there's an extension for that: https://github.com/wiremock/wiremock-webhooks-extension https://github.com/wiremock/wiremock-webhooks-extension
- donnfelker 8y agoI highly recommend it. I use it at a client extensively and have grown to rely on it heavily for its ability to provide a hermetic testing environment with mobile apps (android).
- bgdam 8y agoApologies for the shameless promotion. If anybody is looking for something similar, but with a user friendly GUI on top, and running as a cross platform desktop app, please checkout https://mocktastic.com https://mocktastic.com In addition to allowing you to mock multiple response codes for each endpoint and proxying and recording proxied requests, it also has a complete log of all requests and responses it handles that would be helpful for your debugging. It also has team sync features so one person on your team can mock a complete REST API server and others can seamlessly use it. EDIT: Currently it only supports mocking HTTP REST APIs. Support is planned for websocket messages and graphQL.
- pvorb 8y agoI found Hoverfly to be a good alternative: https://hoverfly.io/ https://hoverfly.io/
- buzain 8y agoDoes anyone know of a similar open source tool for mocking ISO 8583 based APIs?
- JonasJSchreiber 8y agoThis is fantastic. I created something like this for internal development [0], but this looks like an actual product! Great work. [0]https://jonasjschreiber.wordpress.com/2018/06/18/creating-an-isolated-development-environment-from-scratch-using-docker/ https://jonasjschreiber.wordpress.com/2018/06/18/creating-an...