From 7fff188375248ca8ded8adced005b216e91582cc Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Sun, 6 Dec 2020 19:23:05 -0800 Subject: [PATCH] Additional details --- site/content/faq/800-how-do-i-test-svelte-apps.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/content/faq/800-how-do-i-test-svelte-apps.md b/site/content/faq/800-how-do-i-test-svelte-apps.md index d23aa094c0..246eaaafff 100644 --- a/site/content/faq/800-how-do-i-test-svelte-apps.md +++ b/site/content/faq/800-how-do-i-test-svelte-apps.md @@ -2,6 +2,8 @@ question: How do I test Svelte apps? --- +We recommend trying to seperate your view logic from your business logic. Data transformation or cross component state management is best kept outside of Svelte components. You can test those parts like you would test any JavaScript functionality that way. When it comes to testing the components, it is best to test the business logic of the component and remember that the Svelte library has its own tests and you do not need to test implementation details provided by Svelte. + There are a few approaches that people take when testing, but it generally involves compiling the component and mounting it to something and then performing the tests. You essentially need to create a bundle for each component you're testing (since svelte is a compiler and not a normal library) and then mount them. You can mount to a JSDOM instance. Or you can use a real browser powered by a library like Playwright, Puppeteer, or Cypress. Some resources for getting started with unit testing: