tadayosi opened a new issue, #3298:
URL: https://github.com/apache/camel-k/issues/3298

   Our e2e testing is growing and we already have many e2e tests. We also see 
the time of e2e test runs in CI growing along with features we add to the 
codebase.
   
   So what is our preferable style to define multiple flavours of e2e tests on 
the same target function?  For example, we want to test the cli command `kamel 
run` in multiple scenarios such as running with different locations of sources, 
or with different combinations of options, etc.
   https://github.com/apache/camel-k/blob/main/e2e/common/cli/run_test.go
   
   There are two ways of defining those different scenarios (flavours):
   
   1. Have multiple distinct `TestRun_XXX()` functions, with each running on a 
different namespace and integration platform installation.
   2. Have a single `TestRun()` function and define multiple `t.Run("xxx", 
...)` blocks inside `WithNewTestNamespace()`, which uses only a single 
namespace and platform throughout the test suite.
   
   Right now, we seem to mix the two styles without any explicit policies. But 
possibly we should prefer one over another.
   
   What I'm thinking now is that perhaps we should prefer the option #2 
throughout the e2e testing by default. It's because we only create and destroy 
one namespace and platform for each collection of tests and it might make our 
e2e testing more efficient and fast. One potential drawback on the option #2 is 
that it might introduce hidden dependencies to each test in the same collection 
so we might need to be careful about leftovers in each test. But I naively 
think it's rare to happen.
   
   WDYT?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to