- Continuous Integration,Delivery,and Deployment
- Sander Rossel
- 324字
- 2021-07-02 15:42:09
Integration tests
Checking whether an Add function really adds a and b is nice, but does not really give you an indication that the system as a whole works as well. As said, unit tests only test small and isolated units of code and should not interact with external components (external components are mocked). That is why you will want integration tests as well. Integration tests test whether the system as a whole operates as expected. We need to know whether a record can indeed be saved in and retrieved from a database, that we can request some data from an external service, and that we can log to some file on the filesystem. Or, more practically we can check whether the frontend that was created by the frontend team actually fits the backend that was created by the backend team. If these two teams have had any problems or confusion in communication, the integration tests will, hopefully, sort that out.
Last year, we created a service for a third party who wanted to interface with a system we wrote. The service did not do a lot basically it took the received message and forwarded it to another service that we used internally (and wasn't available outside of the network). The internal service had all of the business rules and could read from, and write to, a database. Furthermore, it would, in some cases, create additional jobs that would be put on a (asynchronous) queue, which is yet another service. Last, a fourth service would pick up any messages from the queue and process them. In order to process a single request, we potentially needed five components (external service, internal service, database, queue, and queue processor). The internal service was thoroughly unit tested, so the business rules were covered. However, that still leaves a lot of room for errors and exceptions when one of the components is not available or has an incompatible interface.
- C及C++程序設計(第4版)
- JavaScript+DHTML語法與范例詳解詞典
- Python從入門到精通(精粹版)
- 人人都懂設計模式:從生活中領悟設計模式(Python實現)
- 深入分布式緩存:從原理到實踐
- Django 3.0應用開發詳解
- PHP+MySQL動態網站開發從入門到精通(視頻教學版)
- Java設計模式深入研究
- FusionCharts Beginner’s Guide:The Official Guide for FusionCharts Suite
- Learn Linux Quickly
- Clojure編程樂趣
- C#程序設計基礎與實踐
- C語言解惑:指針、數組、函數和多文件編程
- HTML5+CSS3網頁布局項目化教程
- Java程序設計教程(慕課版)