Bonjour,
Je voudrais créer deux tests unitaires, un pour tester que ma connexion à la DB fonctionne correctement (Driver et connexion), celui-là fonctionne.
Et un pour tester quand ma connexion à un problème, (également driver et connexion).
Problème, je ne vois pas trop comment aborder ce test KO.
Je crois que je dois faire remonter l'erreur dans mon test?
ma Class pour me connecter à la DB après lecture d'un fichier XML contenant les settings.
Mes tests unitaires
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 package be.poo.persistence; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.swing.JOptionPane; /** * Class ConnectDB pour me connecter à la DB. * * @author James */ public class ConnectDB { private static String urlDB, passwordDB, userDB; private static Object INSTANCE; private final String FILE = "settingDB.xml"; public ReadXML read = new ReadXML(FILE); public Boolean boolDriver, boolConnect; //Constructeur private ConnectDB() { ConnectDB.urlDB = read.settingDB().url; ConnectDB.passwordDB = read.settingDB().psw; ConnectDB.userDB = read.settingDB().user; } /** * Méthode getInstance, crée une instance unique de ConnectDAO et renvoie * cet instance. * * @return */ public static ConnectDB getInstance() { if (ConnectDB.INSTANCE == null) { INSTANCE = new ConnectDB(); } return (ConnectDB)INSTANCE; } /** * Méthode pour la connexion à la DB * * @return * @throws SQLException */ public Connection getConnection() throws SQLException { Connection con; try { Class.forName("com.mysql.cj.jdbc.Driver"); boolDriver = true; con = DriverManager.getConnection(("jdbc:mysql://") + ConnectDB.urlDB, ConnectDB.userDB, ConnectDB.passwordDB); boolConnect = true; return con; } catch (ClassNotFoundException ex) {//Gestion d'erreur en cas de problème de Driver JOptionPane.showMessageDialog(null, "Erreur driver mysql!", "Message d'erreur", JOptionPane.ERROR_MESSAGE); boolDriver = false; return null; } catch (SQLException ex) {//Gestion d'erreur si problème connexion à la DB JOptionPane.showMessageDialog(null, "Problème de connexion à la DB!", "Message d'erreur", JOptionPane.ERROR_MESSAGE); System.out.println("error: " + ex); boolConnect = false; return null; } } /** * Pour test d'affichage settings DB * * @return */ @Override public String toString() { return ConnectDB.urlDB + " " + ConnectDB.userDB + " " + ConnectDB.passwordDB; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 package be.poo.testsunitaires; import be.iepscfjemelle.poo.examen_poo.persistence.ConnectDB; import java.sql.SQLException; import junit.framework.Assert; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; /** * * @author James */ public class Test2_ConnectDB { //Attributs public Boolean resultatDriver, resultConnect; public Test2_ConnectDB() { } @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Test public void test1_ConnectDB() throws SQLException { ConnectDB.getInstance().getConnection(); resultatDriver = ConnectDB.getInstance().boolDriver; System.out.println("TEST 1 - Test Driver."); Assert.assertTrue(resultatDriver); System.out.println("TEST 1 - Vous avez le bon Driver."); System.out.println(""); System.out.println("TEST 2 - Test Connection."); resultConnect = ConnectDB.getInstance().boolConnect; Assert.assertTrue(resultConnect); System.out.println("TEST2 - Connection OK."); } //TODO connection KO avec gestoin d'erreur. /*@Test public void test2_ConnectDB_KO() throws SQLException { ConnectDB.getInstance().getConnection(); resultatDriver = ConnectDB.getInstance().boolDriver; System.out.println("TEST 1 - Test Driver."); Assert.assertFalse(resultatDriver); System.out.println("TEST 1 - Vous n'avez le bon Driver."); System.out.println(""); System.out.println("TEST 2 - Test Connection."); resultConnect = ConnectDB.getInstance().boolConnect; Assert.assertFalse(resultConnect); System.out.println("TEST2 - Connection KO."); }*/ @Before public void setUp() { } @After public void tearDown() { } }
Partager