15 ms·
This is basically what I did with http://hitchtest.com/ http://hitchtest.com/ The declarative language is a readable YAML, which translates each named step int
by crdoconnor 10y ago
This is basically what I did with http://hitchtest.com/ http://hitchtest.com/
The declarative language is a readable YAML, which translates each named step into a python function call with arguments (e.g. - click: submit button).
The asynchronous part is 'under the hood' where it runs services which log lines of JSON. Those are watched using epoll triggers and parsed into objects which can be verified by one of the steps (e.g. check email containing name of user is sent).
I wouldn't say that it's necessarily possible nor desirable for a non-programmer to write the stories using YAML, however. Even with a perfect declarative language you need a mindset that requires precise thinking in order to write executable stories and that usually means programming ability. Stories also need refactoring as much as code does, alongside engine code.
However, the YAML ought to be useful as a way programmers can collaboratively write and refine stories with product owners/managers and should serve as a useful way to communicate back changes to the product that a non-programmer can understand.