Tests des fonctions et queries #19

Open
opened 2019-07-09 18:31:22 +02:00 by flecomte · 0 comments
flecomte commented 2019-07-09 18:31:22 +02:00 (Migrated from github.com)

Permet de rédiger des tests des queries et fonctions. Pour ce faire il faut pouvoir définir les paramètres d'entrer et les paramètres des sorties attendu.

Il faut aussi permettre de vérifié si une requête d'insert à bien insérer la ou les données. Pour ça il faut pouvoir écrire une requête sql qui vas renvoyer true ou false. Cette requête qui est liée à la query sera exécuter après l'exécution de la query à tester.

Il faut aussi permettre de créé une query pour créé un context (fixture) a exécuter avant la query donc.

  • migration
  • requête de context
  • requête a tester
  • requête de vérification des données
  • drop de la db

Le temps de chaque query est enregistré et comparer à un temps de référence.
Ce temps de référence est calculé avec une requête simple du type "select 1" et une autre avec une génération très gourmande qui doit mettre 2 secondes.
Le temps normal d'exécution d'une query peu être défini pour être averti si il dépasse ce temps.


Gerkins

Et pourquoi pas utiliser cucumber pour exécuter les queries des test.

Il suffirai de crée quelques steps

  • I execute the query "name" with parameters:
  • I execute the query "name" 10 times
  • I execute the query "name" 10 times with parameters:
  • I execute the function "name" with parameters:
  • the result contain:
  • the result contain an object that is contains:
  • the result contain an object that is not contains :
  • the result contains 10 objects
  • one object of this list contains:
  • all object of the list contains:
  • no object of the list contains:
  • the table "table Name" contains:
  • the table "table Name" not contains:
  • the query was executed in less than 100 ms
  • the query was executed in more than 100 ms
  • the query was executed in more than 100 ms and less than 200 ms
  • the query throw error code "1000E"
  • the query was executed with no error
  • the context "context name"
Permet de rédiger des tests des queries et fonctions. Pour ce faire il faut pouvoir définir les paramètres d'entrer et les paramètres des sorties attendu. Il faut aussi permettre de vérifié si une requête d'insert à bien insérer la ou les données. Pour ça il faut pouvoir écrire une requête sql qui vas renvoyer true ou false. Cette requête qui est liée à la query sera exécuter après l'exécution de la query à tester. Il faut aussi permettre de créé une query pour créé un context (fixture) a exécuter avant la query donc. - migration - requête de context - requête a tester - requête de vérification des données - drop de la db Le temps de chaque query est enregistré et comparer à un temps de référence. Ce temps de référence est calculé avec une requête simple du type "select 1" et une autre avec une génération très gourmande qui doit mettre 2 secondes. Le temps normal d'exécution d'une query peu être défini pour être averti si il dépasse ce temps. ------- ## Gerkins Et pourquoi pas utiliser cucumber pour exécuter les queries des test. Il suffirai de crée quelques steps - [ ] I execute the query "name" with parameters: - [ ] I execute the query "name" 10 times - [ ] I execute the query "name" 10 times with parameters: - [ ] I execute the function "name" with parameters: - [ ] the result contain: - [ ] the result contain an object that is contains: - [ ] the result contain an object that is not contains : - [ ] the result contains 10 objects - [ ] one object of this list contains: - [ ] all object of the list contains: - [ ] no object of the list contains: - [ ] the table "table Name" contains: - [ ] the table "table Name" not contains: - [ ] the query was executed in less than 100 ms - [ ] the query was executed in more than 100 ms - [ ] the query was executed in more than 100 ms and less than 200 ms - [ ] the query throw error code "1000E" - [ ] the query was executed with no error - [ ] the context "context name"
Sign in to join this conversation.