Преобразование описательного JSON в код JavaScript - PullRequest
0 голосов
/ 08 ноября 2019

Учитывая первый фрагмент кода. Он использует фреймворк Jest и Supertest lib. В настоящее время он генерируется с помощью графического интерфейса, где пользователь делает некоторые выборы, вводит некоторые дополнительные данные и экспортирует файл JavaScript. Тестирование конечных точек является единственной областью генерации (отсюда и комбинация Jest и Supertest).

Редактирование экспортированного файла происходит только через внешний редактор, такой как VSCode. Теперь пришел запрос, чтобы иметь возможность редактировать JavaScript с помощью как графического интерфейса, так и редактора, например VSCode.

Таким образом, идея состоит в том, чтобы создать промежуточный, например, «описательный» файл JSON, такой как второй фрагмент ниже, который можетбыть изменены как в редакторе, так и в графическом интерфейсе. После этого он преобразуется в окончательный код JavaScript.

  1. Существуют ли другие методы, которые могли бы достичь того же эффекта? Поскольку промежуточный файл требует «изучения» нового синтаксиса структуры.
  2. Существует ли библиотека, обеспечивающая такую ​​функциональность?
  3. Является ли это известной концепцией и если да, то как она называется?
const app = require('./server');
const supertest = require('supertest');
const request = supertest(app);

describe('api tests', () => {
    it('gets the test endpoint', async done => {
        const response = await request.get('/test');

        expect(response.status).toBe(200);
        expect(response.body).toBe('hello world');
        done()
    });
});
{
    "descibe": {
        "description": "api tests",
        "it": {
            "description": "gets the test endpoint",
            "request": {
                "method": "get",
                "url": "/test",
                "expect": [
                    {
                        "response.status": "toBe(200)"
                    },
                    {
                        "response.body": "toBe('hello world')"
                    }
                ]
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...