Эффективный способ использования операторов SQL в тестах транспортира

Я пишу тест транспортира, который пытается проверить интерфейс по значениям БД. Я сначала пробую простой тест

Вот как выглядит мое определение шага:

Given(/^I run a random select query$/, function(){   
    let sql2 = "Select * from table Where ID  = 8888";
       return this.db.getConnection(dbConfig).then(function(connection) {
                return connection.execute(sql2).then(function(result, err){
                    return console.log(result.rows.toString());
           });
          });

       });

Приведенный выше тест работает отлично

1) this.db относится к импорту oracleDb и является частью моего пользовательского конструктора в world.js 2) DBconfigs включены в виде файла в мой config.js

Может ли кто-нибудь посоветовать, как я могу абстрагировать жестко закодированные sqls из шага def и разделить их, чтобы эффективно поддерживать их; позвонить или сгенерировать их, когда я должен сделать определенный шаг. По сути, любой пример или идея более эффективного управления SQL, таблицами БД и соединениями с различными средами.

1 ответ

Это не ответ, а подход, возможно, потребуется больше усилий, но он сработал очень хорошо для меня. если вы можете построить API RESTfull вокруг запросов к БД и вызывать API при необходимости.

Другие вопросы по тегам