2017-09-14 5 views
1

Je comprends que la philosophie de Karaté est de ne pas avoir à ajouter de définitions d'étapes personnalisées. Toutefois, les tests d'API REST que nous effectuons dans notre projet sont plus intégrés. Nous devons donc vérifier les réponses POST dans les collections MongoDB, ActiveMQ et une base de données SQL Server. Est-il possible d'ajouter facilement des définitions d'étapes personnalisées pour étendre le cadre DSL de Karaté au-delà de ses capacités REST? J'ai essayé de télécharger le code source et de l'importer en tant que projet Maven, mais j'ai rencontré de nombreux problèmes de dépendance.Dans le Karaté DSL Framework, comment pouvons-nous ajouter des définitions d'étapes personnalisées pour étendre ses fonctionnalités au-delà des capacités REST?

Répondre

1

Il est très facile d'étendre le Karaté via Java Interop. La meilleure façon de comprendre cela est de regarder ce demo example qui utilise JDBC pour appeler une base de données: dogs.feature.

Il convient d'appeler ici que si vous retournez un Map (ou List de Map s) de Java - vous êtes de retour dans JSON-terre dans Karaté, et vous pouvez utiliser match et tous les autres la bonté basée sur les données de Karaté. Oui, c'est aussi simple que ça - et vous n'avez pas le surcoût inutile des définitions d'étapes et de l'injection de dépendances.

Espérons que cela explique clairement pourquoi vous n'avez pas du tout besoin de définitions d'étapes!