YATL: Minimalistic API tests
Difference between ru2 and en1, changed 1924 character(s)
Hello codeforces! I am writing to you to share a small open-source project that I recently started, inspired by API testing, called [YATL](https://github.com/Khabib73/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:↵

```yaml↵
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↵
```↵


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

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru4 Russian I_love_pashka 2026-05-06 14:12:27 6 Мелкая правка: 'odeforces.test.yaml and ' -> 'odeforces.yatl.yaml and '
ru3 Russian I_love_pashka 2026-04-01 12:28:08 19 Мелкая правка: 'deforces\n```\n\n\' -> 'deforces\n status: 200\n```\n\n\'
en2 English I_love_pashka 2026-04-01 12:27:23 19 Tiny change: 'deforces\n```\n\n\' -> 'deforces\n status: 200\n```\n\n\'
en1 English I_love_pashka 2026-04-01 12:26:21 1924 Initial revision for English translation
ru2 Russian I_love_pashka 2026-04-01 12:23:45 39
ru1 Russian I_love_pashka 2026-04-01 12:23:27 1927 Первая редакция (опубликовано)