Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 2.55 KB

README.md

File metadata and controls

83 lines (62 loc) · 2.55 KB

Tests

To run tests:

# Unit tests
go test $(go list ./... | grep -v third_party/)
# or
make test-unit

# Integration tests (against your current kube cluster)
go test -v -count=1 -tags=e2e ./test/...

Unit tests

Unit tests live side by side with the code they are testing and can be run with:

go test $(go list ./... | grep -v third_party/)
# or
make test-unit

By default go test will not run the end to end tests, which need -tags=e2e to be enabled.

End to end tests

prerequisite

go build -o tkn github.com/tektoncd/cli/cmd/tkn
export TEST_CLIENT_BINARY=<path-to-tkn-binary-directory>/tkn ( eg: export TEST_CLIENT_BINARY=$PWD/tkn ) 

Set environment variable TEST_CLUSTERTASK_LIST_EMPTY to any value if tests are run in an environment which contains clustertasks

Running

To run end to end tests, you will need to have a running Tekton pipeline deployed on your cluster, see Install Pipeline.

End to end tests live in this directory. To run these tests, you must provide go with -tags=e2e. By default the tests run against your current kubeconfig context, but you can change that and other settings with the flags:

go test -v -count=1 -tags=e2e -timeout=20m ./test/e2e/...
go test -v -count=1 -tags=e2e -timeout=20m ./test/e2e/... --kubeconfig ~/special/kubeconfig --cluster myspecialcluster

You can also use all of flags defined in knative/pkg/test.

Flags

  • By default the e2e tests against the current cluster in ~/.kube/config using the environment specified in your environment variables.
  • Since these tests are fairly slow, running them with logging enabled is recommended (-v).
  • Using --logverbose to see the verbose log output from test as well as from k8s libraries.
  • Using -count=1 is the idiomatic way to disable test caching
  • The end to end tests take a long time to run so a value like -timeout=20m can be useful depending on what you're running

You can use test flags to control the environment your tests run against, i.e. override your environment variables:

go test -v -count=1 ./test/e2e/... --kubeconfig ~/special/kubeconfig --cluster myspecialcluster

One test case

To run one e2e test case, e.g. TestTaskRun, use the -run flag with go test

go test -v -count=1 ./test/e2e/... -run ^TestPipelinesE2E$