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