From da2ba9b027dae6e124e3ce2b08dc0abecd6dcce4 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 22 Jun 2019 18:55:25 +0300 Subject: Add: first scenario for fable --- fable-arch.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'fable-arch.md') 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 +```` -- cgit v1.2.1