Hi all,

 

we were working on automated e2e tests, especially to ease the manual testing 
effort of all the different components and algorithms within StreamPipes.

Since we now have a single repository, it is also possible to run all the tests 
directly in GitHub actions.

 

I prepared a workflow in [1] that builds StreamPipes and runs the tests.

The tests are defined in [2]. For the naming convention I decided to use the 
suffix ‘.spec.ts’ for tests and ‘smoke.spec.ts’ for smoke tests.

The main reason for this distinction is the time the tests require to execute, 
especially testing all the processors takes quite some time. 

Some tests only have a .ts suffix. They are not included into one of the test 
suites. The reason is that they require some third-party dependencies (e.g. 
mysql).

Those tests can be triggered manually, but it must be ensured that the 
dependencies are running.

 
Smoke tests (*.smoke.spec.ts) to early find bugs (e.g. on commit / on PR)
All tests (*.spec.ts) running all e2e tests
Manual tests (*.ts) must be triggered manually when running cypress locally
 

My suggestion would be to run the smoke tests on each PR and have a workflow 
that runs all the tests once a day.

What is your opinion on that?

We can also discuss about the naming and which tests should be included in 
which test suite. 

 

You can run the test via npm locally [3] or use the provided workflow for 
GitHub actions

 

Philipp

 

 

[1] 
https://github.com/apache/incubator-streampipes/blob/dev/.github/workflows/cypress-test.yml

[2] https://github.com/apache/incubator-streampipes/tree/dev/ui/cypress/tests

[3] https://github.com/apache/incubator-streampipes/blob/dev/ui/package.json

 

 

Reply via email to