github.com/mkimuram/operator-sdk@v0.7.1-0.20190410172100-52ad33a4bda0/doc/design/long-term/testing-operators.md (about) 1 ## Make testing an Operator simple and easy 2 3 **Goal:** Make local development of Operators easy, so software vendors can produce high quality software. 4 Make functional tests easy to integrate into a big matrix (upstream, OpenShift, GKE, etc) since we want the SDK to work equally well on all platforms. 5 6 **Problem:** Operators are inherently tied to a clustered environment, which complicates testing. Running a full cluster locally can be hard, and requiring a remote cluster is clunky. Aside from a single test cluster, running your Operator against the range of Kubernetes offering requires a ton of industry knowledge and expertise. 7 8 **Why is this important:** We think Operators are the best way to ship software on Kubernetes. This will naturally happen if we provide methods to build high quality software, of which testing is a huge part. 9 10 **Proposed work streams to accomplish this:** 11 - Mock clients to enable unit testing without Kubernetes in under a second 12 - Functional testing is run against X last releases via platform scripts in codebase 13 - SDK provides a method to generate a functional testing container 14 - Docs for using a test container and setting it up against a number of providers for use in a partners CI environment 15 - Provide a way to run the Operator binary locally outside of a container 16 - Eg. https://github.com/operator-framework/operator-sdk/issues/142 17 18 **Open questions:** 19 - none so far