{"id":800,"date":"2025-05-30T07:58:10","date_gmt":"2025-05-30T05:58:10","guid":{"rendered":"https:\/\/rhein-ruhr-informatik.de\/?p=800"},"modified":"2025-05-13T13:15:41","modified_gmt":"2025-05-13T11:15:41","slug":"einstieg-in-unit-tests-mit-javascript-jasmine-und-karma","status":"publish","type":"post","link":"https:\/\/rhein-ruhr-informatik.de\/en\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/","title":{"rendered":"Getting Started with Unit Testing with JavaScript, Jasmine, Karma"},"content":{"rendered":"<p>Learn how to build reliable JavaScript applications through unit testing! In this hands-on tutorial, you\u2019ll set up Jasmine and Karma from scratch, write meaningful tests for your code, and automate test execution. Whether you\u2019re new to testing or refining your skills, this guide will equip you with foundational practices to ensure clean, maintainable code. Let\u2019s turn messy code into trustworthy solutions!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1.<\/strong><strong> <\/strong><strong>Prerequisites<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Code editor of your choice<\/li>\n\n\n\n<li>Code-Editor Ihrer Wahl<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>2.<\/strong><strong> <\/strong><strong>Install Dependencies<\/strong><\/h3>\n\n\n\n<p>This step establishes the testing ecosystem. Jasmine provides the testing syntax and assertion capabilities, while Karma acts as the test runner that executes tests in real browsers. The Chrome launcher enables testing in a familiar browser environment.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"298\" src=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png\" alt=\"\" class=\"wp-image-802\" style=\"width:568px;height:auto\" srcset=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png 923w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-300x97.png 300w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-768x248.png 768w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-18x6.png 18w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Configure Karma<\/strong><\/h3>\n\n\n\n<p>Karma's configuration wizard helps create an optimal test environment. By selecting Jasmine as the testing framework and Chrome as the target browser, you ensure tests run consistently. The file patterns tell Karma where to look for source files and tests.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"306\" height=\"50\" src=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-1.png\" alt=\"\" class=\"wp-image-803\" style=\"width:188px;height:auto\" srcset=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-1.png 306w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-1-300x49.png 300w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-1-18x3.png 18w\" sizes=\"auto, (max-width: 306px) 100vw, 306px\" \/><\/figure>\n\n\n\n<p><strong>During setup<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Testing framework: Jasmine<\/li>\n\n\n\n<li>Browser: Chrome<\/li>\n\n\n\n<li>File paths <code>src\/*.js, test\/*.spec.js<\/code><\/li>\n\n\n\n<li>Keep defaults for other options<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00a0<\/strong><strong>Project Structure<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>my-test-project\/\n\u251c\u2500\u2500 src\/\n\u2502   \u2514\u2500\u2500 calculator.js\n\u251c\u2500\u2500 test\/\n\u2502   \u2514\u2500\u2500 calculator.spec.js\n\u251c\u2500\u2500 karma.conf.js\n\u2514\u2500\u2500 package.json\n<\/code><\/pre>\n\n\n\n<p>A logical file structure separates concerns between application code (src) and test specifications (test). The .spec.js suffix clearly identifies test files, following JavaScript community conventions. This organization improves code maintainability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Sample Code (src\/calculator.js)<\/strong><\/h3>\n\n\n\n<p>So, here is just a code sample that we will use to write unit tests for:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"331\" height=\"306\" src=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-2.png\" alt=\"\" class=\"wp-image-805\" style=\"width:236px;height:auto\" srcset=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-2.png 331w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-2-300x277.png 300w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-2-13x12.png 13w\" sizes=\"auto, (max-width: 331px) 100vw, 331px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Test Cases (test\/calculator.spec.js)<\/strong><\/h3>\n\n\n\n<p>Jasmine's human-readable syntax uses describe blocks to group related tests and it statements for individual scenarios. Each expect assertion verifies specific functionality, creating a safety net against regressions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"320\" src=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-3.png\" alt=\"\" class=\"wp-image-806\" style=\"width:402px;height:auto\" srcset=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-3.png 661w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-3-300x145.png 300w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-3-18x9.png 18w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>7. npm-Scripts (package.json)<\/strong><\/h3>\n\n\n\n<p>Custom scripts in package.json automate test execution. The --single-run mode is ideal for CI\/CD pipelines, while watch mode provides instant feedback during development. These shortcuts streamline your testing workflow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"130\" src=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-4.png\" alt=\"\" class=\"wp-image-807\" style=\"width:336px;height:auto\" srcset=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-4.png 463w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-4-300x84.png 300w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-4-18x5.png 18w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a><\/a><strong>Running Tests<\/strong><\/h3>\n\n\n\n<p>Test execution validates your code's behavior in real-time. Karma spins up a browser instance, runs all tests, and reports results in the terminal. Green checkmarks confirm your code works as intended, while failures highlight areas needing attention.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"172\" src=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-5.png\" alt=\"\" class=\"wp-image-808\" style=\"width:284px;height:auto\" srcset=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-5.png 420w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-5-300x123.png 300w, https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image-5-18x7.png 18w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Universal Tips<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Start with simple test cases<\/li>\n\n\n\n<li>Use <code>describe()<\/code> for test suites<\/li>\n\n\n\n<li>Each <code>it()<\/code> represents one test scenario<\/li>\n\n\n\n<li>Common matchers: <code>.toBe(), .toEqual(), .toThrow()<\/code><\/li>\n\n\n\n<li>Debug with <code>console.log()<\/code> in tests if needed<\/li>\n<\/ul>\n\n\n\n<p><strong>Now, happy testing!<\/strong> \ud83d\ude80<\/p>","protected":false},"excerpt":{"rendered":"<p>Erfahren Sie, wie Sie zuverl\u00e4ssige JavaScript-Anwendungen durch Unit-Tests erstellen! In diesem praxisnahen Tutorial richten Sie Jasmine und Karma Schritt f\u00fcr Schritt ein, schreiben aussagekr\u00e4ftige Tests und automatisieren deren Ausf\u00fchrung. Ob Sie neu im Testen sind oder Ihre F\u00e4higkeiten vertiefen m\u00f6chten \u2013 diese Anleitung vermittelt grundlegende Praktiken f\u00fcr sauberen, wartbaren Code. [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,21],"tags":[],"class_list":["post-800","post","type-post","status-publish","format-standard","hentry","category-articles","category-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma - Rhein-Ruhr-Informatik<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rhein-ruhr-informatik.de\/en\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma - Rhein-Ruhr-Informatik\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie, wie Sie zuverl\u00e4ssige JavaScript-Anwendungen durch Unit-Tests erstellen! In diesem praxisnahen Tutorial richten Sie Jasmine und Karma Schritt f\u00fcr Schritt ein, schreiben aussagekr\u00e4ftige Tests und automatisieren deren Ausf\u00fchrung. Ob Sie neu im Testen sind oder Ihre F\u00e4higkeiten vertiefen m\u00f6chten \u2013 diese Anleitung vermittelt grundlegende Praktiken f\u00fcr sauberen, wartbaren Code. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rhein-ruhr-informatik.de\/en\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\" \/>\n<meta property=\"og:site_name\" content=\"Rhein-Ruhr-Informatik\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-30T05:58:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-13T11:15:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"923\" \/>\n\t<meta property=\"og:image:height\" content=\"298\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Rhein-Ruhr-Informatik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rhein-Ruhr-Informatik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\"},\"author\":{\"name\":\"Rhein-Ruhr-Informatik\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/person\/29f8c93b2080ee25df204d589a7f2477\"},\"headline\":\"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma\",\"datePublished\":\"2025-05-30T05:58:10+00:00\",\"dateModified\":\"2025-05-13T11:15:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\"},\"wordCount\":361,\"publisher\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#organization\"},\"image\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png\",\"articleSection\":[\"Artikel\",\"Testing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\",\"url\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\",\"name\":\"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma - Rhein-Ruhr-Informatik\",\"isPartOf\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png\",\"datePublished\":\"2025-05-30T05:58:10+00:00\",\"dateModified\":\"2025-05-13T11:15:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage\",\"url\":\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png\",\"contentUrl\":\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rhein-ruhr-informatik.de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#website\",\"url\":\"https:\/\/rhein-ruhr-informatik.de\/\",\"name\":\"Rhein-Ruhr-Informatik\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rhein-ruhr-informatik.de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#organization\",\"name\":\"Rhein-Ruhr-Informatik\",\"url\":\"https:\/\/rhein-ruhr-informatik.de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2024\/02\/logo-2.png\",\"contentUrl\":\"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2024\/02\/logo-2.png\",\"width\":570,\"height\":570,\"caption\":\"Rhein-Ruhr-Informatik\"},\"image\":{\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/person\/29f8c93b2080ee25df204d589a7f2477\",\"name\":\"Rhein-Ruhr-Informatik\",\"sameAs\":[\"https:\/\/rhein-ruhr-informatik.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma - Rhein-Ruhr-Informatik","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:\/\/rhein-ruhr-informatik.de\/en\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/","og_locale":"en_US","og_type":"article","og_title":"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma - Rhein-Ruhr-Informatik","og_description":"Erfahren Sie, wie Sie zuverl\u00e4ssige JavaScript-Anwendungen durch Unit-Tests erstellen! In diesem praxisnahen Tutorial richten Sie Jasmine und Karma Schritt f\u00fcr Schritt ein, schreiben aussagekr\u00e4ftige Tests und automatisieren deren Ausf\u00fchrung. Ob Sie neu im Testen sind oder Ihre F\u00e4higkeiten vertiefen m\u00f6chten \u2013 diese Anleitung vermittelt grundlegende Praktiken f\u00fcr sauberen, wartbaren Code. [&hellip;]","og_url":"https:\/\/rhein-ruhr-informatik.de\/en\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/","og_site_name":"Rhein-Ruhr-Informatik","article_published_time":"2025-05-30T05:58:10+00:00","article_modified_time":"2025-05-13T11:15:41+00:00","og_image":[{"width":923,"height":298,"url":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png","type":"image\/png"}],"author":"Rhein-Ruhr-Informatik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rhein-Ruhr-Informatik","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#article","isPartOf":{"@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/"},"author":{"name":"Rhein-Ruhr-Informatik","@id":"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/person\/29f8c93b2080ee25df204d589a7f2477"},"headline":"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma","datePublished":"2025-05-30T05:58:10+00:00","dateModified":"2025-05-13T11:15:41+00:00","mainEntityOfPage":{"@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/"},"wordCount":361,"publisher":{"@id":"https:\/\/rhein-ruhr-informatik.de\/#organization"},"image":{"@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage"},"thumbnailUrl":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png","articleSection":["Artikel","Testing"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/","url":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/","name":"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma - Rhein-Ruhr-Informatik","isPartOf":{"@id":"https:\/\/rhein-ruhr-informatik.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage"},"image":{"@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage"},"thumbnailUrl":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png","datePublished":"2025-05-30T05:58:10+00:00","dateModified":"2025-05-13T11:15:41+00:00","breadcrumb":{"@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#primaryimage","url":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png","contentUrl":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2025\/05\/image.png"},{"@type":"BreadcrumbList","@id":"https:\/\/rhein-ruhr-informatik.de\/2025\/05\/30\/einstieg-in-unit-tests-mit-javascript-jasmine-und-karma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rhein-ruhr-informatik.de\/"},{"@type":"ListItem","position":2,"name":"Einstieg in Unit-Tests mit JavaScript, Jasmine und Karma"}]},{"@type":"WebSite","@id":"https:\/\/rhein-ruhr-informatik.de\/#website","url":"https:\/\/rhein-ruhr-informatik.de\/","name":"Rhein-Ruhr-Informatik","description":"","publisher":{"@id":"https:\/\/rhein-ruhr-informatik.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rhein-ruhr-informatik.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/rhein-ruhr-informatik.de\/#organization","name":"Rhein-Ruhr-Informatik","url":"https:\/\/rhein-ruhr-informatik.de\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/logo\/image\/","url":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2024\/02\/logo-2.png","contentUrl":"https:\/\/rhein-ruhr-informatik.de\/wp-content\/uploads\/2024\/02\/logo-2.png","width":570,"height":570,"caption":"Rhein-Ruhr-Informatik"},"image":{"@id":"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/rhein-ruhr-informatik.de\/#\/schema\/person\/29f8c93b2080ee25df204d589a7f2477","name":"Rhein-Ruhr-Informatik","sameAs":["https:\/\/rhein-ruhr-informatik.de"]}]}},"_links":{"self":[{"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/posts\/800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/comments?post=800"}],"version-history":[{"count":2,"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/posts\/800\/revisions"}],"predecessor-version":[{"id":809,"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/posts\/800\/revisions\/809"}],"wp:attachment":[{"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/media?parent=800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/categories?post=800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rhein-ruhr-informatik.de\/en\/wp-json\/wp\/v2\/tags?post=800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}