/almighty-test-runner

almighty test

Primary LanguageGoApache License 2.0Apache-2.0

ALMighty Test Services

This repository consists of testing services provided by ALMighty.

ALMighty Test Runner

Key features

  • Running project build in different configurations

Project itself depends on following tools, which are incorporated into the build process:

How to use it?

Stay tuned! Work in progress :) For the moment this repository consists of basic functionalities and infrastructure to write and test the code.

Start hacking

You need to have following packages in place

  • go (>= v1.6)

  • git

  • make

Assuming that you have all the Golang prerequisites in place (such as $GOPATH), clone the repository first:

$ git clone https://github.com/almighty/almighty-test-runner $GOPATH/src/github.com/almighty/almighty-test-runner
Note
Have a look how Go Version Manager can help you simplifying configuration and management of different versions of Go.

Then run the build by simply executing make from the root directory. This will perform following actions:

  1. Clean artifacts from the previous build

  2. Fetch or update dependencies using glide

  3. Compile and build binaries

  4. Run tests

When in doubt just make help.

Continuous Testing

In order to continuously run the tests whenever code change occur execute following command from the root directory of the project:

$ ginkgo watch -r

and keep it running in the terminal.

Code analysis

To perform static analysis of the code base we use gometalinter tool. To install it run following commands:

$ go get -u github.com/alecthomas/gometalinter && gometalinter --install

In order to execute the check simply invoke make check which effectively does:

gometalinter --vendor --deadline 10s ./...