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?
briley last edited by
Travis docs explain how to setup your job for multiple OS:
language: c os: # Will run on Linux and Mac - linux - osx compiler: - gcc - clang addons: apt: packages: - 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