From bcd4ef2e85ef89affba31ea3646eaffe8ca2890f Mon Sep 17 00:00:00 2001 From: "Luke \"Jared\" Bennett" Date: Wed, 17 May 2017 18:21:52 +0000 Subject: [PATCH] Update fe_guide testing.md --- .../fe_guide/img/testing_triangle.png | Bin 0 -> 11836 bytes doc/development/fe_guide/testing.md | 39 ++++++++++++++---- 2 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 doc/development/fe_guide/img/testing_triangle.png diff --git a/doc/development/fe_guide/img/testing_triangle.png b/doc/development/fe_guide/img/testing_triangle.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9a848c2eec8a8bb37a751cef187844998ff12a GIT binary patch literal 11836 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 { }); ``` +#### Stubbing + +For unit tests, you should stub methods that are unrelated to the current unit you are testing. +If you need to use a prototype method, instantiate an instance of the class and call it there instead of mocking the instance completely. + +For integration tests, you should stub methods that will effect the stability of the test if they +execute their original behaviour. i.e. Network requests. + ### Vue.js unit tests See this [section][vue-test].