I_love_pashka's blog

By I_love_pashka, history, 5 weeks ago, translation, In English

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

Full text and comments »

  • Vote: I like it
  • 0
  • Vote: I do not like it