2010-11-28 7 views
0

J'ai une application Web déployée sur tomcat, qui utilise l'accès du pilote JDBC à une base de données distante. Ma question est: comment puis-je obtenir au milieu, comme un proxy, et se moquer des résultats (sans changer une seule ligne de code Java)? Exemple: un proxy jdbc que je peux utiliser?Pilote Tomcat et JDBC

merci.

Répondre

0

Sans changer/ajouter une seule ligne de code? Pas que je sache de. Bien sûr, si vous avez programmé une interface et que vous envisagez d'écrire des tests JUnit pour votre code, vous pouvez regarder dans une bibliothèque moqueuse comme Mockito pour faire ce travail pour vous, cependant, le travail de "création" des données serait à surveiller pour.

0

La question est: qu'est-ce que vous essayez de tester? Voulez-vous vérifier que vos instructions SQL sont correctes? Ou des limites de transaction? Ou peut-être un peu de traitement de données dans votre couche DAO? Penser de cette façon peut vous conduire à des conclusions différentes sur ce qui a besoin de se moquer.

+0

le but est d'accélérer l'utilisation de l'application (en développement). la base de données distante ralentit le développement. – power

+1

Ah, d'accord. J'adore celui-ci: http://hsqldb.org/ - si facile à utiliser dans le même vm que le reste et pourtant si complet. Peut-être que c'est une solution? –

0

Vous avez quelques options:

  1. Utilisez une base de données intégrée tels que H2. Il a même quelques compatibility modes avec d'autres bases de données, donc vous n'aurez pas à modifier vos instructions.

  2. Utilisez une bibliothèque de simulation comme Mockito, comme Sanjay suggéré. Utilisez dbUnit pour tester votre base de données.

  3. Installez votre base de données distante sur votre ordinateur local, si cela est possible.

Modifier: de votre commentaire, il semble les options 1 et 2 sont d'intérêt pour vous.

Je n'ai pas utilisé de moquerie parce que je n'en avais pas encore besoin (je préfère utiliser le vrai trucs), mais je ne dis pas que ce n'est pas utile.

Alors, je vais me concentrer un peu sur 1:

Découvrez le tutoriel de H2, en particulier, la partie sur connecting to database using JDBC. En outre, la lecture du guide quickstart ne peut pas nuire. Vous devez lire pour comprendre ;-)

Pour la compatibilité, vérifiez le lien que j'ai fourni plus tôt et utilisez le mode qui convient à la base de données que vous utilisez (vous n'avez pas spécifié lequel).

+0

répondre aux points: 1) mon but est d'utiliser un db localement, comme H2 ... mais comment? 2) comme alternative à db, Mock est une bonne solution ... mais comment? 3) Je ne veux pas tester le db 4) l'installation locale n'est pas fournie et le but de mon poste est juste d'en avoir un – power

Questions connexes