FeatureTestModule
PackageFCQRS.ExpectoTickSpec
TickSpec -> Expecto bridge. Feature files load from embedded resources in
the CALLER's assembly and scenarios group by their Gherkin `Rule:` into
nested test lists.
Focus and pending are driven by Gherkin tags — TickSpec merges feature-
and rule-level tags into every scenario's Tags, so the tag works at any
level:
@focus -> Expecto Focused (only focused tests run; the rest report
as skipped)
@pending -> Expecto Pending (never runs, reported as pending)
Pending scenarios are cut from the feature text before TickSpec binds it,
so their steps do not need to exist: a spec written ahead of its
implementation joins the suite as pending scenarios instead of failing
step binding. `discover` also takes a `Pending.Entry` list, which skips
scenarios the same way and reports why each one waits. The legacy `_`
name prefix also focuses a feature or scenario.
Every entry point takes the assembly holding the steps and feature
resources explicitly. Resolving it here (GetExecutingAssembly) would bind
to THIS library once it ships as a compiled package, silently scanning an
assembly with no steps — pass your test assembly instead, typically
`Assembly.GetExecutingAssembly()` at the call site.
Summary
| Name | Signature | Synopsis |
|---|---|---|
| testListFromFeature | testListFromFeature feature | Expecto test tree for a BOUND feature: scenarios grouped by `Rule:`, focus/pending from tags and the `_` prefix. |
| featureFromEmbeddedResource | featureFromEmbeddedResource assembly fullResourceName | Parse one feature from an embedded resource, binding its steps to definitions found in the same assembly. |
| createTest | createTest assembly resourcePrefix baseFeatureName | Test tree for `{resourcePrefix}.{baseFeatureName}.feature` embedded in `assembly` — steps are discovered in the same assembly: createTest (Assembly.GetExecutingAssembly()) "MyApp" "login" |
| discover | discover assembly resourcePrefix pending | Every `{resourcePrefix}.*.feature` embedded in `assembly`, one test list per file, named after the file. |
Expecto test tree for a BOUND feature: scenarios grouped by `Rule:`,
focus/pending from tags and the `_` prefix.
Parameters
| Name | Type | Description |
|---|---|---|
| feature | Feature |
Returns
Test
Parse one feature from an embedded resource, binding its steps to
definitions found in the same assembly.
Parameters
| Name | Type | Description |
|---|---|---|
| assembly | Assembly | |
| fullResourceName | string |
Returns
Feature
Test tree for `{resourcePrefix}.{baseFeatureName}.feature` embedded in
`assembly` — steps are discovered in the same assembly:
createTest (Assembly.GetExecutingAssembly()) "MyApp" "login"
Parameters
| Name | Type | Description |
|---|---|---|
| assembly | Assembly | |
| resourcePrefix | string | |
| baseFeatureName | string |
Returns
Test
Every `{resourcePrefix}.*.feature` embedded in `assembly`, one test
list per file, named after the file. Tests are named by scenario title,
without the `Scenario:` keyword. A scenario `pending` names is skipped
with its reason, before any `@pending` tag. When `pending` is not
empty, a first test fails if it names a feature or scenario that does
not exist, so the list cannot go stale:
discover (Assembly.GetExecutingAssembly()) "MyApp" [ Pending.feature "billing" "needs invoices" ]
Parameters
| Name | Type | Description |
|---|---|---|
| assembly | Assembly | |
| resourcePrefix | string | |
| pending | Entry list |
Returns
Test list