{"id":2612,"date":"2024-03-23T09:47:28","date_gmt":"2024-03-23T08:47:28","guid":{"rendered":"https:\/\/ittester.sk\/non-classifiee\/test-de-dependance\/"},"modified":"2024-10-22T14:06:05","modified_gmt":"2024-10-22T12:06:05","slug":"test-de-dependance","status":"publish","type":"post","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/test-de-dependance\/","title":{"rendered":"D\u00e9pendance dans TestNG"},"content":{"rendered":"\n<p>La r\u00e8gle est que chaque m\u00e9thode d&rsquo;essai doit \u00eatre ind\u00e9pendante des autres, c&rsquo;est-\u00e0-dire que j. le r\u00e9sultat ou la performance d&rsquo;une m\u00e9thode d&rsquo;essai ne doit pas affecter les autres m\u00e9thodes d&rsquo;essai. Cependant, dans le cadre de l&rsquo;automatisation, il peut arriver qu&rsquo;une m\u00e9thode de test d\u00e9pende d&rsquo;autres m\u00e9thodes.<\/p>\n\n<p>Nous pouvons vouloir pr\u00e9server les d\u00e9pendances entre les m\u00e9thodes de test pour gagner du temps, ou pour des sc\u00e9narios dans lesquels l&rsquo;appel \u00e0 l&rsquo;ex\u00e9cution d&rsquo;un test particulier d\u00e9pend du r\u00e9sultat d&rsquo;un autre test.<\/p>\n\n<p>TestNG est un cadre de test qui nous fournit deux attributs &#8211; dependsOnMethod et dependsOnGroup dans l&rsquo;annotation @Test pour cr\u00e9er des d\u00e9pendances entre les tests. Examinons maintenant ces attributs.<\/p>\n\n<h2 class=\"wp-block-heading\"><strong>Table des mati\u00e8res<\/strong><\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-dependsonmethod\">dependsOnMethod<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-uryvok-kodu\">\u00daryvok k\u00f3du<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vystup\">V\u00fdstup<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-dependsongroup\">dependsOnGroup<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-uryvok-kodu\">\u00daryvok k\u00f3du<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vysledok-testng\">V\u00fdsledok TestNG<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-dependsonmethod\">D\u00e9pend de la m\u00e9thode<\/h2>\n\n<p>En utilisant l&rsquo;attribut \u00ab\u00a0dependsOnMethod\u00a0\u00bb dans l&rsquo;annotation @Test, nous pouvons sp\u00e9cifier le nom de la m\u00e9thode de test parent dont le test doit d\u00e9pendre.<\/p>\n\n<p>Quelques points \u00e0 retenir concernant dependsOnMethod :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Lors de l&rsquo;ex\u00e9cution d&rsquo;une classe de test ou d&rsquo;une suite de tests compl\u00e8te, la m\u00e9thode parentTest est ex\u00e9cut\u00e9e avant la m\u00e9thode dependentTest.<\/li>\n\n\n\n<li>Si nous ex\u00e9cutons dependentTest lui-m\u00eame, la m\u00e9thode parentTest est \u00e9galement ex\u00e9cut\u00e9e avant dependentTest.<\/li>\n\n\n\n<li>Si la m\u00e9thode parentTest \u00e9choue, la m\u00e9thode dependentTest ne s&rsquo;ex\u00e9cutera pas et sera consid\u00e9r\u00e9e comme ignor\u00e9e.<\/li>\n<\/ul>\n\n<p><strong>@Test(dependsOnMethods={\u00ab\u00a0parentTest\u00a0\u00bb})<\/strong><\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-uryvok-kodu\">Extrait de code<\/h2>\n\n<p>Dans l&rsquo;extrait de code suivant, nous avons deux m\u00e9thodes de test &#8211; parentTest() et dependentTest(). La m\u00e9thode dependentTest d\u00e9pend de la m\u00e9thode parentTest \u00e0 l&rsquo;aide de l&rsquo;attribut dependsOnMethods.<\/p>\n\n<pre class=\"wp-block-code\"><code>public class TutorialExample {\n\n\u00a0\u00a0\u00a0\u00a0@Test\n\n\u00a0\u00a0\u00a0\u00a0public void parentTest() {\u00a0\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(\"Running parent test.\");\n\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0@Test(dependsOnMethods={\"parentTest\"})\u00a0\n\n\u00a0\u00a0\u00a0\u00a0public void dependentTest() {\u00a0\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(\"Running dependent test.\");\n\n\u00a0\u00a0\u00a0\u00a0}\u00a0\n\n}<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vystup\">R\u00e9cup\u00e9r\u00e9 de<\/h2>\n\n<p>Lorsque la m\u00e9thode dependentTest() est elle-m\u00eame ex\u00e9cut\u00e9e, la m\u00e9thode parentTest() est \u00e9galement ex\u00e9cut\u00e9e avant la m\u00e9thode dependentTest(). Ceci est fait dans le but de maintenir la d\u00e9pendance.<\/p>\n\n<pre class=\"wp-block-code\"><code>Running parent test.\n\nRunning dependent test.\n\nPASSED: parentTest\n\nPASSED: dependentTest\n\n===============================================\n\n\u00a0\u00a0\u00a0\u00a0Default test\n\n\u00a0\u00a0\u00a0\u00a0Tests run: 2, Failures: 0, Skips: 0\n\n===============================================<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-dependsongroup\">D\u00e9pend du groupe<\/h2>\n\n<p>L&rsquo;attribut dependsOnGroup est utilis\u00e9 pour faire d\u00e9pendre une m\u00e9thode de test d&rsquo;un ensemble de tests appartenant \u00e0 un groupe sp\u00e9cifique. Cela garantit que le test d\u00e9pendant est ex\u00e9cut\u00e9 apr\u00e8s que tous les tests du groupe parent ont \u00e9t\u00e9 ex\u00e9cut\u00e9s.<\/p>\n\n<p>Quelques points \u00e0 retenir concernant DependsOnMethod :<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Lors de l&rsquo;ex\u00e9cution d&rsquo;une classe de test ou d&rsquo;une suite de tests compl\u00e8te, les tests appartenant au groupe parent sont ex\u00e9cut\u00e9s avant les tests d\u00e9pendants.<\/li>\n\n\n\n<li>Si nous ex\u00e9cutons dependentTest lui-m\u00eame, tous les tests appartenant au groupe parent seront ex\u00e9cut\u00e9s avant dependentTest.<\/li>\n\n\n\n<li>Si un ou tous les tests de la m\u00e9thode du groupe parent \u00e9chouent, la m\u00e9thode dependentTest ne s&rsquo;ex\u00e9cutera pas et sera consid\u00e9r\u00e9e comme ignor\u00e9e.<\/li>\n<\/ul>\n\n<p><strong>@Test(dependsOnGroups = \u00ab\u00a0groupA\u00a0\u00bb)<\/strong><\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-uryvok-kodu\">Extrait de code<\/h2>\n\n<p>Dans l&rsquo;extrait de code suivant, nous avons deux m\u00e9thodes de test &#8211; testMethod1ForGroupA() et testMethod2ForGroupA(), qui appartiennent au groupe groupA. Nous avons ensuite une m\u00e9thode dependentTest &#8211; dependentTestOnGroupA, qui d\u00e9pend des m\u00e9thodes du groupeA \u00e0 l&rsquo;aide de l&rsquo;attribut dependsOnGroups. Pour les besoins de la d\u00e9monstration, nous faisons d\u00e9lib\u00e9r\u00e9ment \u00e9chouer la m\u00e9thode testMethod2ForGroupA.<\/p>\n\n<pre class=\"wp-block-code\"><code>public class TutorialExample {\n\n\u00a0\u00a0\u00a0\u00a0@Test(groups = \"groupA\")\n\n\u00a0\u00a0\u00a0\u00a0public void testMethod1ForGroupA() {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(\"Running test method1 of groupA\");\n\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0@Test(groups = \"groupA\")\n\n\u00a0\u00a0\u00a0\u00a0public void testMethod2ForGroupA() {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(\"Running test method2 of groupA\");\n\n\u00a0\u00a0\u00a0\u00a0\u00a0Assert.fail();\n\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0@Test(dependsOnGroups = \"groupA\")\n\n\u00a0\u00a0\u00a0\u00a0public void dependentTestOnGroupA() {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(\"Running the dependent test\");\n\n\u00a0\u00a0\u00a0\u00a0}\n\n}<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vysledok-testng\">R\u00e9sultat de TestNG<\/h2>\n\n<p>Lorsque la fonction dependentTestOnGroupA() elle-m\u00eame est ex\u00e9cut\u00e9e ou que la classe de test enti\u00e8re est ex\u00e9cut\u00e9e, nous pouvons observer la sortie suivante.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"270\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/vysledok-testng-800-270.webp\" alt=\"\" class=\"wp-image-1178\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/vysledok-testng-800-270.webp 800w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/vysledok-testng-800-270-300x101.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/03\/vysledok-testng-800-270-768x259.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n<p>Ici, nous pouvons observer que TestNG essaie d&rsquo;ex\u00e9cuter les 3 tests et, en raison de la d\u00e9pendance, il ex\u00e9cute d&rsquo;abord testMethod1ForGroupA et testMethod2ForGroupA. Puisque testMethod2ForGroupA a \u00e9chou\u00e9, dependentTest, t. j. dependentTestOnGroupA, n&rsquo;est pas ex\u00e9cut\u00e9 et est marqu\u00e9 comme ignor\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.<\/p>\n","protected":false},"author":8,"featured_media":2615,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[46],"tags":[],"class_list":["post-2612","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriel-testng"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Zoltan\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/test-de-dependance\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"IT tester - Z\u00e1kladn\u00e9 inform\u00e1cie o testovan\u00ed softv\u00e9ru\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"D\u00e9pendance dans TestNG - IT tester\" \/>\n\t\t<meta property=\"og:description\" content=\"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/test-de-dependance\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-03-23T08:47:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-10-22T12:06:05+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"D\u00e9pendance dans TestNG - IT tester\" \/>\n\t\t<meta name=\"twitter:description\" content=\"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.\" \/>\n\t\t<script type=\"text\/javascript\">\n\t\t\t(function(c,l,a,r,i,t,y){\n\t\t\tc[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;\n\t\t\tt.src=\"https:\/\/www.clarity.ms\/tag\/\"+i+\"?ref=aioseo\";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n\t\t})(window, document, \"clarity\", \"script\", \"nizijct9c2\");\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>D\u00e9pendance dans TestNG - IT tester<\/title>\n\n","aioseo_head_json":{"title":"D\u00e9pendance dans TestNG - IT tester","description":"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.","canonical_url":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/test-de-dependance\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"IT tester - Z\u00e1kladn\u00e9 inform\u00e1cie o testovan\u00ed softv\u00e9ru","og:type":"article","og:title":"D\u00e9pendance dans TestNG - IT tester","og:description":"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.","og:url":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/test-de-dependance\/","article:published_time":"2024-03-23T08:47:28+00:00","article:modified_time":"2024-10-22T12:06:05+00:00","twitter:card":"summary_large_image","twitter:title":"D\u00e9pendance dans TestNG - IT tester","twitter:description":"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests."},"aioseo_meta_data":{"post_id":"2612","title":null,"description":"TestNG fournit deux attributs (dependsOnMethod et dependsOnGroup) pour r\u00e9aliser des d\u00e9pendances entre les tests.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"none","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-05-18 09:25:15","breadcrumb_settings":null,"limit_modified_date":false,"open_ai":"{\"title\":{\"suggestions\":[],\"usage\":0},\"description\":{\"suggestions\":[],\"usage\":0}}","ai":null,"created":"2024-10-22 12:06:02","updated":"2026-05-18 09:25:15"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/\" title=\"Tests automatis\u00e9s\">Tests automatis\u00e9s<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/\" title=\"Tutoriel TestNG\">Tutoriel TestNG<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tD\u00e9pendance dans TestNG\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/ittester.sk\/fr\/"},{"label":"Tests automatis\u00e9s","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/"},{"label":"Tutoriel TestNG","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/"},{"label":"D\u00e9pendance dans TestNG","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-testng\/test-de-dependance\/"}],"_links":{"self":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/comments?post=2612"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2612\/revisions"}],"predecessor-version":[{"id":2617,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2612\/revisions\/2617"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media\/2615"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media?parent=2612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/categories?post=2612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/tags?post=2612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}