{"id":9010,"date":"2025-01-08T20:15:14","date_gmt":"2025-01-08T17:15:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/"},"modified":"2025-01-08T20:15:14","modified_gmt":"2025-01-08T17:15:14","slug":"r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/","title":{"rendered":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme"},"content":{"rendered":"<p>R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme<\/p>\n<p>Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 <code>shiny::MockShinySession<\/code> kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.  R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada <code>shiny::MockShinySession<\/code> devreye giriyor.<\/p>\n<h2>R6 S\u0131n\u0131flar\u0131 ve De\u011fer Atama<\/h2>\n<p>\u00d6ncelikle, R6 s\u0131n\u0131flar\u0131n\u0131n temel yap\u0131s\u0131n\u0131 ve de\u011fer ataman\u0131n nas\u0131l ger\u00e7ekle\u015fti\u011fini anlayal\u0131m.  A\u015fa\u011f\u0131daki \u00f6rnekte basit bir R6 s\u0131n\u0131f\u0131 tan\u0131mlad\u0131k:<\/p>\n<pre><code class=\"language-r\">\nlibrary(R6)\n\nMyClass <- R6Class(\n  \"MyClass\",\n  public = list(\n    value = NULL,\n    setValue = function(newValue) {\n      self$value <- newValue\n      invisible(self)\n    },\n    getValue = function() {\n      return(self$value)\n    }\n  )\n)\n<\/code><\/pre>\n<p>Bu s\u0131n\u0131fta, <code>value<\/code> ad\u0131nda bir de\u011fi\u015fken ve bu de\u011fi\u015fkeni ayarlayan <code>setValue<\/code>,  de\u011feri d\u00f6nd\u00fcren <code>getValue<\/code> fonksiyonlar\u0131 bulunmaktad\u0131r.  Yeni bir nesne olu\u015fturup de\u011fer atamak \u015fu \u015fekilde yap\u0131l\u0131r:<\/p>\n<pre><code class=\"language-r\">\nobj <- MyClass$new()\nobj$setValue(10)\nobj$getValue() # 10 d\u00f6nd\u00fcr\u00fcr\n<\/code><\/pre>\n<p>Ancak,  Shiny uygulamalar\u0131nda bu basit yakla\u015f\u0131m yeterli olmayabilir.  Shiny'nin \u00f6zelle\u015ftirilmi\u015f ihtiya\u00e7lar\u0131 nedeniyle, daha karma\u015f\u0131k senaryolarla kar\u015f\u0131la\u015fabiliriz.  \u00d6rne\u011fin, kullan\u0131c\u0131 etkile\u015fimlerine ba\u011fl\u0131 olarak de\u011fer atamas\u0131 yapmak gerekebilir.<\/p>\n<h2>shiny::MockShinySession ile Test Etme<\/h2>\n<p>\u0130\u015fte bu noktada <code>shiny::MockShinySession<\/code> devreye girer. Bu fonksiyon, Shiny uygulamalar\u0131n\u0131 test etmek i\u00e7in sahte bir Shiny oturumu olu\u015fturur.  B\u00f6ylece, ger\u00e7ek bir Shiny uygulamas\u0131 \u00e7al\u0131\u015ft\u0131rmadan, kodunuzun farkl\u0131 durumlar alt\u0131nda nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test edebilirsiniz.  A\u015fa\u011f\u0131daki \u00f6rnekte, <code>MyClass<\/code> s\u0131n\u0131f\u0131n\u0131 <code>MockShinySession<\/code> kullanarak test ediyoruz:<\/p>\n<pre><code class=\"language-r\">\nlibrary(shiny)\nlibrary(testthat)\n\ntest_that(\"setValue fonksiyonu do\u011fru \u00e7al\u0131\u015f\u0131yor\", {\n  session <- shiny::MockShinySession$new()\n  obj <- MyClass$new()\n  obj$setValue(20)\n  expect_equal(obj$getValue(), 20)\n})\n<\/code><\/pre>\n<p>Bu test, <code>setValue<\/code> fonksiyonunun do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamaktad\u0131r.  <code>MockShinySession<\/code>,  ger\u00e7ek bir Shiny uygulamas\u0131 gibi davranarak,  fonksiyonlar\u0131n do\u011fru \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmemizi sa\u011flar.  Bu, \u00f6zellikle kullan\u0131c\u0131 girdilerine ba\u011fl\u0131 karma\u015f\u0131k i\u015flemleri test ederken olduk\u00e7a faydal\u0131d\u0131r.  \u00d6rne\u011fin,  bir input de\u011fi\u015fkeninin de\u011ferine ba\u011fl\u0131 olarak bir hesaplama yap\u0131yorsan\u0131z, <code>MockShinySession<\/code> ile bu input de\u011ferini sim\u00fcle edip sonucu do\u011frulayabilirsiniz.<\/p>\n<h2>Daha Karma\u015f\u0131k Senaryolar<\/h2>\n<p>Elbette, ger\u00e7ek d\u00fcnya senaryolar\u0131 daha karma\u015f\u0131k olabilir.  \u00d6rne\u011fin,  birden fazla de\u011fi\u015fkeni i\u00e7eren s\u0131n\u0131flar veya kullan\u0131c\u0131 etkile\u015fimlerine ba\u011fl\u0131 olarak asenkron i\u015flemler i\u00e7eren s\u0131n\u0131flar ile \u00e7al\u0131\u015f\u0131yor olabilirsiniz.  Bu durumlarda,  <code>MockShinySession<\/code>'\u0131n sa\u011flad\u0131\u011f\u0131 \u00f6zelliklerden daha fazla yararlanarak,  testlerinizi daha kapsaml\u0131 hale getirebilirsiniz.  \u00d6rne\u011fin,  <code>session$input$...<\/code> kullanarak sahte input de\u011ferleri olu\u015fturabilir ve <code>session$sendCustomMessage(...)<\/code> kullanarak s\u0131n\u0131f\u0131n\u0131z\u0131n i\u00e7indeki fonksiyonlar\u0131n tetiklenmesini sa\u011flayabilirsiniz.<\/p>\n<p>Sonu\u00e7 olarak, R6 s\u0131n\u0131flar\u0131nda de\u011fer atama ve test etme,  \u00f6zellikle Shiny uygulamalar\u0131nda, titizlik gerektiren bir i\u015flemdir.  <code>shiny::MockShinySession<\/code>,  bu s\u00fcreci b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r ve kodunuzun sa\u011flaml\u0131\u011f\u0131n\u0131 art\u0131r\u0131r.  Umar\u0131m bu makale, R6 s\u0131n\u0131flar\u0131yla \u00e7al\u0131\u015f\u0131rken kar\u015f\u0131la\u015fabilece\u011finiz zorluklar\u0131 a\u015fman\u0131za yard\u0131mc\u0131 olmu\u015ftur. Daha fazla bilgi i\u00e7in  <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> sitesini ziyaret edebilirsiniz.<\/p>\n<p><strong>Faydal\u0131 Kaynaklar:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/dev.to\/colinfay\/setting-values-in-r6-classes-and-testing-with-shinymockshinysession-23l1\">Orijinal \u0130ngilizce Makale<\/a><\/li>\n<li><a href=\"https:\/\/cran.r-project.org\/web\/packages\/R6\/vignettes\/Introduction.html\">R6 S\u0131n\u0131flar\u0131 Dok\u00fcmanlar\u0131<\/a><\/li>\n<li><a href=\"https:\/\/shiny.rstudio.com\/articles\/testing.html\">Shiny Uygulamalar\u0131 Test Etme<\/a><\/li>\n<\/ul>\n<p>#Etiketler: R6, Shiny, MockShinySession, Test Etme, De\u011fer Atama, R programlama,  fatihsoysal.com,  Shiny uygulamalar\u0131,  R6 s\u0131n\u0131flar\u0131,  testthat<\/p>\n","protected":false},"excerpt":{"rendered":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-9010","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme<\/title>\n<meta name=\"description\" content=\"Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 shiny::MockShinySession kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada shiny::MockShinySession devreye giriyor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 shiny::MockShinySession kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada shiny::MockShinySession devreye giriyor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-08T17:15:14+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme\",\"datePublished\":\"2025-01-08T17:15:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\"},\"wordCount\":558,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\",\"name\":\"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-01-08T17:15:14+00:00\",\"description\":\"Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 shiny::MockShinySession kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada shiny::MockShinySession devreye giriyor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme","description":"Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 shiny::MockShinySession kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada shiny::MockShinySession devreye giriyor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/","og_locale":"tr_TR","og_type":"article","og_title":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme","og_description":"Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 shiny::MockShinySession kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada shiny::MockShinySession devreye giriyor.","og_url":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-01-08T17:15:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"1 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme","datePublished":"2025-01-08T17:15:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/"},"wordCount":558,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/","url":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/","name":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-01-08T17:15:14+00:00","description":"Merhaba! Ben Fatih Soysal ve bu yaz\u0131da R6 s\u0131n\u0131flar\u0131nda de\u011fer atama i\u015flemlerini ve bunlar\u0131 shiny::MockShinySession kullanarak nas\u0131l test edebilece\u011finizi detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. R Shiny uygulamalar\u0131nda s\u0131kl\u0131kla kullan\u0131lan R6 s\u0131n\u0131flar\u0131, kodun daha organize ve test edilebilir olmas\u0131n\u0131 sa\u011flar. Ancak, bu s\u0131n\u0131flar i\u00e7indeki de\u011ferleri do\u011fru bir \u015fekilde ayarlamak ve test etmek bazen zorlay\u0131c\u0131 olabilir. \u0130\u015fte bu noktada shiny::MockShinySession devreye giriyor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/r6-siniflarinda-deger-atama-ve-shinymockshinysession-ile-test-etme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"R6 S\u0131n\u0131flar\u0131nda De\u011fer Atama ve shiny::MockShinySession ile Test Etme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/9010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=9010"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/9010\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=9010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=9010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=9010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}