{"id":2670,"date":"2022-05-23T11:54:14","date_gmt":"2022-05-23T08:54:14","guid":{"rendered":"https:\/\/www.etemkeskin.com\/?p=2670"},"modified":"2022-05-23T11:55:05","modified_gmt":"2022-05-23T08:55:05","slug":"php-laravel-de-unit-test-yazma","status":"publish","type":"post","link":"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/","title":{"rendered":"PHP Laravel&#8217; de Unit Test Yazma"},"content":{"rendered":"\n<p>Bir yaz\u0131l\u0131m projesinde geli\u015ftirdi\u011fimiz kodlar\u0131n en az hata ile canl\u0131 ortama \u00e7\u0131kmas\u0131n\u0131 istiyorsak, <strong>unit test<\/strong>inin yaz\u0131l\u0131p test edilmesi bizim i\u00e7in \u00f6nemlidir. \u00d6zellikle b\u00fcy\u00fck ve kurumsal firmalarda \u00e7al\u0131\u015facaksak yazd\u0131\u011f\u0131m\u0131z kodun testinin yap\u0131lmas\u0131 istenir.<\/p>\n\n\n\n<p>Bu yaz\u0131da <strong>PHP Laravel<\/strong>&#8216; de unit testin nas\u0131l yaz\u0131laca\u011f\u0131n\u0131 ve yaz\u0131lan testin nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 anlataca\u011f\u0131m. Test yazmak ilk ba\u015flarda korkutucu ve zaman kayb\u0131 gibi gelebilir. Fakat test yazmaya al\u0131\u015ft\u0131k\u00e7a ve pratik yapt\u0131k\u00e7a el al\u0131\u015fkanl\u0131\u011f\u0131m\u0131z geli\u015fecektir.<\/p>\n\n\n\n<p>Laravel, unit testlerini \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z <strong>PHPUnit<\/strong> paketi ile birlikte gelir. PHPUnit PHP\u2019nin unit test framework\u00fcd\u00fcr. <\/p>\n\n\n\n<p>\u0130lk \u00f6nce Laravel&#8217; de test kodlar\u0131 nereye yaz\u0131l\u0131r ve nerede bulunur ona bakal\u0131m. Laravel &#8216; de yazaca\u011f\u0131m\u0131z testler<strong> tests <\/strong>klas\u00f6r\u00fcn\u00fcn i\u00e7inde bulunur.<\/p>\n\n\n\n<p> <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"326\" height=\"370\" src=\"https:\/\/www.etemkeskin.com\/wp-content\/uploads\/2022\/05\/image-1.png\" alt=\"\" class=\"wp-image-2653\"\/><\/figure><\/div>\n\n\n\n<p>Bu klas\u00f6r\u00fcn i\u00e7inde <strong>Feature <\/strong>ve <strong>Unit <\/strong>klas\u00f6rleri ve bu klas\u00f6rlerde de \u00f6rnek testler bulunur.<\/p>\n\n\n\n<p>Bu testleri \u00e7al\u0131\u015ft\u0131rman\u0131n 2 y\u00f6ntemi vard\u0131r. <\/p>\n\n\n\n<ol><li><code>.\/vendor\/bin\/phpunit<\/code><\/li><li><code>php artisan test<\/code><\/li><\/ol>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"704\" height=\"319\" src=\"https:\/\/www.etemkeskin.com\/wp-content\/uploads\/2022\/05\/image-2.png\" alt=\"\" class=\"wp-image-2654\"\/><\/figure><\/div>\n\n\n\n<p>sadece Unit testleri \u00e7al\u0131\u015ft\u0131rmak istiyorsak <code>php artisan test --testsuite=Unit<\/code> komutlar\u0131n\u0131 terminal ekran\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131yoruz.<\/p>\n\n\n\n<p>Laravel&#8217; de \u00e7al\u0131\u015ft\u0131r\u0131lacak testler ile ilgili genel ayarlar <strong>phpunit.xml<\/strong> dosyas\u0131nda yap\u0131l\u0131r.<\/p>\n\n\n\n<h3>\u0130lk Testimizi Yazma<\/h3>\n\n\n\n<p>Bu yaz\u0131da <strong>PostsController<\/strong> &#8216; \u0131m\u0131z\u0131n i\u00e7indeki  <strong>add_post()<\/strong> metodumuza test yazaca\u011f\u0131z.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;php&quot;,&quot;mime&quot;:&quot;text\/x-php&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;language&quot;:&quot;PHP&quot;,&quot;modeName&quot;:&quot;php&quot;}\">public function add_post(Request $request)\n    { \n        $name = $request-&gt;title;\n        $content = $request-&gt;content;\n        $status = $request-&gt;status;\n        \n        $post = Posts::create([\n                'name'=&gt;$name,\n                'content'=&gt;$content,\n                'status' =&gt;$status ?? 0\n            ]);\n       \n        return response()-&gt;json($post, 200);\n    }<\/pre><\/div>\n\n\n\n<p>Kendi testimizi yazmak i\u00e7in ilk \u00f6nce terminalde <code>php artisan make:test PostTest --unit<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131yoruz. <strong>Unit<\/strong> klas\u00f6r\u00fcn\u00fcn alt\u0131nda olu\u015fan <strong>PostTest.php<\/strong> dosyas\u0131na ilk testimizi yazal\u0131m.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;php&quot;,&quot;mime&quot;:&quot;text\/x-php&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;showPanel&quot;:false,&quot;language&quot;:&quot;PHP&quot;,&quot;modeName&quot;:&quot;php&quot;}\">&lt;?php\n\nnamespace Tests\\Unit;\n\nuse Tests\\TestCase;\n\nclass PostTest extends TestCase\n{\n    public function test_add_post()\n    {\n        $response = $this-&gt;call('POST', '\/admin\/add-post', [\n            'name' =&gt; 'Some post title 123',\n            'content' =&gt; 'Some post content 123',\n            'status' =&gt; false\n        ]);\n\n        $response-&gt;assertStatus($response-&gt;status(), 200);\n    }\n}\n<\/pre><\/div>\n\n\n\n<p>testi \u00e7al\u0131\u015ft\u0131rmak i\u00e7in php artisan test komutunu terminalde \u00e7al\u0131\u015ft\u0131r\u0131yoruz.<\/p>\n\n\n\n<p>Ba\u015far\u0131lar dilerim&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bir yaz\u0131l\u0131m projesinde geli\u015ftirdi\u011fimiz kodlar\u0131n en az hata ile canl\u0131 ortama \u00e7\u0131kmas\u0131n\u0131 istiyorsak, unit testinin yaz\u0131l\u0131p test edilmesi bizim i\u00e7in \u00f6nemlidir. \u00d6zellikle b\u00fcy\u00fck ve kurumsal firmalarda \u00e7al\u0131\u015facaksak yazd\u0131\u011f\u0131m\u0131z kodun testinin yap\u0131lmas\u0131 istenir. Bu yaz\u0131da PHP Laravel&#8216; de unit testin nas\u0131l yaz\u0131laca\u011f\u0131n\u0131 ve yaz\u0131lan testin nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 anlataca\u011f\u0131m. Test yazmak ilk ba\u015flarda korkutucu ve zaman kayb\u0131 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[18,28],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP Laravel&#039; de Unit Test Yazma - blog website<\/title>\n<meta name=\"description\" content=\"Bir yaz\u0131l\u0131m projesinde geli\u015ftirdi\u011fimiz kodlar\u0131n en az hata ile canl\u0131 ortama \u00e7\u0131kmas\u0131n\u0131 istiyorsak, unit testinin yaz\u0131l\u0131p test edilmesi bizim i\u00e7in \u00f6nemlidir. \u00d6zellikle b\u00fcy\u00fck ve kurumsal firmalarda \u00e7al\u0131\u015facaksak yazd\u0131\u011f\u0131m\u0131z kodun testinin yap\u0131lmas\u0131 istenir.Bu yaz\u0131da PHP Laravel&#039; de unit testin nas\u0131l yaz\u0131laca\u011f\u0131n\u0131 ve yaz\u0131lan testin nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 anlataca\u011f\u0131m. Test yazmak ilk ba\u015flarda korkutucu ve zaman kayb\u0131 gibi gelebilir. Fakat test yazmaya al\u0131\u015ft\u0131k\u00e7a ve pratik yapt\u0131k\u00e7a el al\u0131\u015fkanl\u0131\u011f\u0131m\u0131z geli\u015fecektir.Laravel, unit testlerini \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z PHPUnit paketi ile birlikte gelir. PHPUnit PHP\u2019nin unit test framework\u00fcd\u00fcr. \u0130lk \u00f6nce Laravel&#039; de test kodlar\u0131 nereye yaz\u0131l\u0131r ve nerede bulunur ona bakal\u0131m. Laravel &#039; de yazaca\u011f\u0131m\u0131z testler tests klas\u00f6r\u00fcn\u00fcn i\u00e7inde bulunur.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP Laravel&#039; de Unit Test Yazma - blog website\" \/>\n<meta property=\"og:description\" content=\"Bir yaz\u0131l\u0131m projesinde geli\u015ftirdi\u011fimiz kodlar\u0131n en az hata ile canl\u0131 ortama \u00e7\u0131kmas\u0131n\u0131 istiyorsak, unit testinin yaz\u0131l\u0131p test edilmesi bizim i\u00e7in \u00f6nemlidir. \u00d6zellikle b\u00fcy\u00fck ve kurumsal firmalarda \u00e7al\u0131\u015facaksak yazd\u0131\u011f\u0131m\u0131z kodun testinin yap\u0131lmas\u0131 istenir.Bu yaz\u0131da PHP Laravel&#039; de unit testin nas\u0131l yaz\u0131laca\u011f\u0131n\u0131 ve yaz\u0131lan testin nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 anlataca\u011f\u0131m. Test yazmak ilk ba\u015flarda korkutucu ve zaman kayb\u0131 gibi gelebilir. Fakat test yazmaya al\u0131\u015ft\u0131k\u00e7a ve pratik yapt\u0131k\u00e7a el al\u0131\u015fkanl\u0131\u011f\u0131m\u0131z geli\u015fecektir.Laravel, unit testlerini \u00e7al\u0131\u015ft\u0131raca\u011f\u0131m\u0131z PHPUnit paketi ile birlikte gelir. PHPUnit PHP\u2019nin unit test framework\u00fcd\u00fcr. \u0130lk \u00f6nce Laravel&#039; de test kodlar\u0131 nereye yaz\u0131l\u0131r ve nerede bulunur ona bakal\u0131m. Laravel &#039; de yazaca\u011f\u0131m\u0131z testler tests klas\u00f6r\u00fcn\u00fcn i\u00e7inde bulunur.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/\" \/>\n<meta property=\"og:site_name\" content=\"blog website\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-23T08:54:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-23T08:55:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.etemkeskin.com\/wp-content\/uploads\/2022\/05\/image-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.etemkeskin.com\/#website\",\"url\":\"https:\/\/www.etemkeskin.com\/\",\"name\":\"blog website\",\"description\":\"Etem KESK\\u0130N\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.etemkeskin.com\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/#primaryimage\",\"inLanguage\":\"tr\",\"url\":\"https:\/\/www.etemkeskin.com\/wp-content\/uploads\/2022\/05\/image-1.png\",\"contentUrl\":\"https:\/\/www.etemkeskin.com\/wp-content\/uploads\/2022\/05\/image-1.png\",\"width\":326,\"height\":370},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/#webpage\",\"url\":\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/\",\"name\":\"PHP Laravel' de Unit Test Yazma - blog website\",\"isPartOf\":{\"@id\":\"https:\/\/www.etemkeskin.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/#primaryimage\"},\"datePublished\":\"2022-05-23T08:54:14+00:00\",\"dateModified\":\"2022-05-23T08:55:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.etemkeskin.com\/#\/schema\/person\/dcbc30282861ce578b96a79ce8789629\"},\"description\":\"Bir yaz\\u0131l\\u0131m projesinde geli\\u015ftirdi\\u011fimiz kodlar\\u0131n en az hata ile canl\\u0131 ortama \\u00e7\\u0131kmas\\u0131n\\u0131 istiyorsak, unit testinin yaz\\u0131l\\u0131p test edilmesi bizim i\\u00e7in \\u00f6nemlidir. \\u00d6zellikle b\\u00fcy\\u00fck ve kurumsal firmalarda \\u00e7al\\u0131\\u015facaksak yazd\\u0131\\u011f\\u0131m\\u0131z kodun testinin yap\\u0131lmas\\u0131 istenir.Bu yaz\\u0131da PHP Laravel' de unit testin nas\\u0131l yaz\\u0131laca\\u011f\\u0131n\\u0131 ve yaz\\u0131lan testin nas\\u0131l \\u00e7al\\u0131\\u015ft\\u0131r\\u0131laca\\u011f\\u0131n\\u0131 anlataca\\u011f\\u0131m. Test yazmak ilk ba\\u015flarda korkutucu ve zaman kayb\\u0131 gibi gelebilir. Fakat test yazmaya al\\u0131\\u015ft\\u0131k\\u00e7a ve pratik yapt\\u0131k\\u00e7a el al\\u0131\\u015fkanl\\u0131\\u011f\\u0131m\\u0131z geli\\u015fecektir.Laravel, unit testlerini \\u00e7al\\u0131\\u015ft\\u0131raca\\u011f\\u0131m\\u0131z PHPUnit paketi ile birlikte gelir. PHPUnit PHP\\u2019nin unit test framework\\u00fcd\\u00fcr. \\u0130lk \\u00f6nce Laravel' de test kodlar\\u0131 nereye yaz\\u0131l\\u0131r ve nerede bulunur ona bakal\\u0131m. Laravel ' de yazaca\\u011f\\u0131m\\u0131z testler tests klas\\u00f6r\\u00fcn\\u00fcn i\\u00e7inde bulunur.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.etemkeskin.com\/index.php\/tr\/2022\/05\/23\/php-laravel-de-unit-test-yazma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.etemkeskin.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP Laravel&#8217; de Unit Test Yazma\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.etemkeskin.com\/#\/schema\/person\/dcbc30282861ce578b96a79ce8789629\",\"name\":\"etemkeskin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.etemkeskin.com\/#personlogo\",\"inLanguage\":\"tr\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6af0148b790691ed24ae245fb3dc773b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6af0148b790691ed24ae245fb3dc773b?s=96&d=mm&r=g\",\"caption\":\"etemkeskin\"},\"url\":\"https:\/\/www.etemkeskin.com\/index.php\/author\/etemkeskinyahoo-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/posts\/2670"}],"collection":[{"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/comments?post=2670"}],"version-history":[{"count":1,"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/posts\/2670\/revisions"}],"predecessor-version":[{"id":2671,"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/posts\/2670\/revisions\/2671"}],"wp:attachment":[{"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/media?parent=2670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/categories?post=2670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.etemkeskin.com\/index.php\/wp-json\/wp\/v2\/tags?post=2670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}