How to handle unit test, integration test for a Installation, Setup Application used in multiple platform

  • I'm handling a code repository that is responsible to deploy / install / upgrade agent that are running on different platform, windows, unix, linux.

    The code base already has some unit test to cover the behavior of important component.

    I'm now thinking how I could increase the test coverage and confidence of the setup / upgrade by introducing integration testing, and integrate with travis.

    What are the available test framework that I could explore on this type of application?

    ===== Edit #1 =====

    The application I'm looking at implementing integration testing as the follow characteristic.

    • The code base is written in ruby.
    • It is a setup / installer, the main functionality to bring the state of the machine to a desired stated. For example, we would deploy a file, set the file permission or managed the content of the file if the Shasum does not match.
      • Most of the codes are platform dependent, and create other processes to perform the job. For example chmod.
    • It calls external remote APIs, to fetch and verify configuration / data.

    Is there any best practice, or code base out there that does this kind of integration testing?

  • Travis docs explain how to setup your job for multiple OS:

    language: c
    os: # Will run on Linux and Mac
      - linux
      - osx
      - gcc
      - clang
          - graphviz
    before_install: # You can use $TRAVIS_OS_NAME to perform OS specific actions.
      - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update          ; fi
      - if [ "$TRAVIS_OS_NAME" = "linux" ]; then apt update; fi

Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2