I'm currently integrating support for --format=json
feature to cucumber
testing framework. This is done via emulating libtest
's json output. While serial test execution works fine, concurrent tests lead to some tests being skipped inside the IDE window.
{"type":"suite","event":"started","test_count":8}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::3: Background Given 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::3: Background Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::14: Given 2 secs"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::14: Given 2 secs"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::15: When 2 secs"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::15: When 2 secs"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::16: Then 2 secs"}
{"type":"test","event":"failed","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::16: Then 2 secs","stdout":"Step panicked. Captured output: Too much!\nWorld(\n 4,\n)"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::3: Background Given 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::3: Background Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::6: Given 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::6: Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::7: When 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::7: When 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::8: Then unknown"}
{"type":"test","event":"ignored","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::8: Then unknown"}
{"type":"suite","event":"failed","passed":6,"failed":1,"ignored":1,"measured":0,"filtered_out":0,"exec_time":7.034503}
Execution of same tests, but concurrently, leads to some tests being skipped inside the IDE window. Basically, we output the same test events, but in a different order. cucumber
guarantees, that every test case has unique name
and started
event is outputted before ok
/failed
/ignored
.
{"type":"suite","event":"started","test_count":8}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::3: Background Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::3: Background Given 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::3: Background Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::6: Given 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::3: Background Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::14: Given 2 secs"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::6: Given 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::7: When 1 sec"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::14: Given 2 secs"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::15: When 2 secs"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::7: When 1 sec"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::8: Then unknown"}
{"type":"test","event":"ignored","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::5: Scenario 1 sec::8: Then unknown"}
{"type":"test","event":"ok","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::15: When 2 secs"}
{"type":"test","event":"started","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::16: Then 2 secs"}
{"type":"test","event":"failed","name":"Basic /Users/work/Work/cucumber/tests/features/wait/rule.feature::11: Rule rule::13: Scenario 2 secs::16: Then 2 secs","stdout":"Step panicked. Captured output: Too much!\nWorld(\n 4,\n)"}
{"type":"suite","event":"failed","passed":6,"failed":1,"ignored":1,"measured":0,"filtered_out":0,"exec_time":7.045812}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4