New ask Hacker News story: What do y'all use for back end integration testing? (Services, Parallelism)
What do y'all use for back end integration testing? (Services, Parallelism)
2 by somethingAlex | 0 comments on Hacker News.
There's many unit testing libraries like mocha and jest but there do not seem to be many for integration testing. To be clear, I mean integrating disparate backend modules together. For example, the extremely common case of testing a bunch of lambda functions on AWS. To be fair, there is a lot of overlap. They both need an assertion library, great debugging features for when tests fail, various hooks for setup and teardown, and some way to control the execution flow of tests. It is the last feature where unit testing libraries refuse to play ball. Integration tests oftentimes require a partial order and can be represented as a DAG: certain tests are dependent on other tests before they can run but where possible, parallelism should be employed (for performance reasons). This Github issue refers to my problem but the maintainers completely misunderstand the use case [0]. Mocha has mocha-steps[1] but its a total order and everything is run serially. Is this not a common use case? Are people okay with the performance of running integration test suites serially? Do people just invest in unit tests more and leave integration tests to some script some guy made way back "but it works?" Seems crazy to me that popular libraries don't let you declare a partial order for your tests or declare arbitrary dependencies. [0]: https://ift.tt/OzipNjF [1]: https://ift.tt/xj45I3G
2 by somethingAlex | 0 comments on Hacker News.
There's many unit testing libraries like mocha and jest but there do not seem to be many for integration testing. To be clear, I mean integrating disparate backend modules together. For example, the extremely common case of testing a bunch of lambda functions on AWS. To be fair, there is a lot of overlap. They both need an assertion library, great debugging features for when tests fail, various hooks for setup and teardown, and some way to control the execution flow of tests. It is the last feature where unit testing libraries refuse to play ball. Integration tests oftentimes require a partial order and can be represented as a DAG: certain tests are dependent on other tests before they can run but where possible, parallelism should be employed (for performance reasons). This Github issue refers to my problem but the maintainers completely misunderstand the use case [0]. Mocha has mocha-steps[1] but its a total order and everything is run serially. Is this not a common use case? Are people okay with the performance of running integration test suites serially? Do people just invest in unit tests more and leave integration tests to some script some guy made way back "but it works?" Seems crazy to me that popular libraries don't let you declare a partial order for your tests or declare arbitrary dependencies. [0]: https://ift.tt/OzipNjF [1]: https://ift.tt/xj45I3G
Comments
Post a Comment