Comments (2)
@harshanarayana Thanks for bringing that up.
Right now the api supports very specific sets of steps
- Assessment
- Setup
- Teardown
- (might be one more)
Some of the pre-baked steps above do have auto-generate names (except Assessment). This is because the internal method FeatureBuilder.WithStep
requires a name. The reason WithStep
is hidden is because each step type, specified by Level (i.e. Assess, Setup, Teardown, etc) are treated differently during execution.
Maybe, one thing that can be done is to extend the Feature API to allow Setup and Teardown to have names as well as shown below:
func TestHello_WithSetup(t *testing.T) {
e := env.NewWithConfig(envconf.New())
var name string
feat := features.New("Hello Feature").
WithLabel("type", "simple").
WithSetup("SetupName", func(ctx context.Context, t *testing.T, _ *envconf.Config) context.Context {
name = "foobar"
return ctx
}).
Assess("test message", func(ctx context.Context, t *testing.T, _ *envconf.Config) context.Context {
result := Hello(name)
if result != "Hello foobar" {
t.Error("unexpected message")
}
return ctx
}).WithTeardown("Teardown", func(ctx context.Context, t *testing.T, _ *envconf.Config) context.Context {
...
}).Feature()
e.Test(t, feat)
}
from e2e-framework.
@vladimirvivien I see what you mean.
I do like the idea of extending the feature API to provide additional option to be able to provide step names. Makes it a bit more readable and easy to debug. Let me have a Draft PR opened on this for review.
from e2e-framework.
Related Issues (20)
- Create Kind Cluster without test Function HOT 6
- Allow adding custom labels and annotations when creating namespace HOT 3
- How to use BeforeEachTest HOT 13
- Ambiguous call to `cfg.Client()` in `CreateClusterWithConfig` HOT 4
- ,
- Do not share config across tests HOT 3
- Why does `-parallel` and `-fail-fast` can't be used together? HOT 8
- Running `t.FailNow()` in Assess does not fail the following assess HOT 4
- decoder.ApplyWithManifestDir fails to decode yaml with comments in it HOT 5
- Importing "sigs.k8s.io/e2e-framework/klient/conf" causes: ` k8s.io/api/flowcontrol/v1alpha1: module k8s.io/api@latest found (v0.29.3), but does not contain package k8s.io/api/flowcontrol/v1alpha1` HOT 7
- Better error output from Kwok provider HOT 2
- Embedded Local Registry HOT 4
- Test suite is executed even if the setup failed HOT 2
- CLI flags for "running only given features" will skip whole test if a feature in the env doesn't match the criteria. HOT 2
- Instructions in README are outdated and use deprecated functions HOT 5
- `Flux` Integration test with `kyverno` is flaking HOT 1
- imdario/mergo module rename is creating issues with go mod tidy HOT 2
- Handling of interrupt signal during long running tests HOT 1
- Cannot use features.TableRow
- Order of e2e tests execution spread across multiple *.go files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from e2e-framework.