Эффективный способ использования операторов 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 при необходимости.