summaryrefslogtreecommitdiff
path: root/fable-arch.md
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2019-06-22 18:55:25 +0300
committerLars Wirzenius <liw@liw.fi>2019-06-22 18:55:25 +0300
commitda2ba9b027dae6e124e3ce2b08dc0abecd6dcce4 (patch)
tree7295b5f8243b5c778ad355b1520935650da95426 /fable-arch.md
parentbda456e4e0a17bf06e4c146cdc3fa270d953d375 (diff)
downloadfable-poc-da2ba9b027dae6e124e3ce2b08dc0abecd6dcce4.tar.gz
Add: first scenario for fable
Diffstat (limited to 'fable-arch.md')
-rw-r--r--fable-arch.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/fable-arch.md b/fable-arch.md
index 89ee96b..50a91a0 100644
--- a/fable-arch.md
+++ b/fable-arch.md
@@ -321,3 +321,36 @@ other resource constraints.
# Acceptance tests for Fable
FIXME: This needs to be written eventually, when Fable is implemented.
+
+## Simple scenario
+
+We test that Fable can execute a very simple scenario. The test is
+based on generating the test program from an input file, running the
+test program, and examining the log file. This will require that the
+generated test program logs the things it does in a known format.
+Effectively, the log messages become a part of the contract.
+
+````fable
+given file "simple.md" containing
+ # Simple
+ ```fable
+ given precondition foo
+ when I do bar
+ then bar was done
+ ```
+and file "simple.yaml" containing
+ - given: precondition foo
+ function: nop
+ - when: I do bar
+ function: nop
+ - then: bar was done
+ function: nop
+and file "simple.py" containing
+ def foo(ctx): pass
+when I run ftt-codegen --run simple.md
+then log file says scenario "Simple" was run
+and log file says step "given precondition foo" was run
+and log file says step "when I do bar" was run
+and log file says step "then bar was don" was run
+and program finished successfully
+````