Hello codeforces! I am writing to you to share a small open-source project that I recently started, inspired by API testing, called YATL (Yet Another Testing Language). The main idea is directly inspired by the "keep it simple" principle and the attitude to configuration as code.
What problem does it solve?: I think writing integration tests for the API has become too cumbersome. Even with simple tools, you often have to write a lot of boilerplate code. YATL tries to turn tests into pure data.
1) If you know HTTP and YAML, you know YATL. This lowers the entry threshold for everyone in the team who wants to understand or write tests.
2) The tests are declarative. No hidden "magic", just a request and an expected response. This is closer to the specification than to the script.
3) Anti-framework: It doesn't try to become a huge ecosystem. It does one thing: it runs HTTP tests from a readable file.
The most important thing is that you can start writing tests without deep knowledge of a specific programming language, technology, and computer network design.For example, create codeforces.test.yaml and write the following code:
name: test codeforces
base_url: codeforces.com
user_name: MikeMirzayanov
steps:
- name: simple_test
request:
method: GET
url: /api/user.info?handles={{user_name}}
expect:
body:
json:
"result.0.handle": MikeMirzayanov
"result.0.firstName": Mike
"result.0.lastName": Mirzayanov
"result.0.organization": Codeforces
status: 200
The project is still under active development — there is still time before the first stable release. But if the idea resonates, I will be very glad to receive an star. ⭐ That's the best way to say, go on, someone needs it. Link the project: https://github.com/Khabib73/YATL



