This issue is aimed at the creation of the structure and files required for testing (not the progress of implementing the test).
Decision making about what methods are needed to isolate the system under test (SUT). This involves test doubles, fakes, stubs, and mocks.
Changes to Flask structure:
[x] Create factory method for application initialisation.
[x] Create multiple configuration options for testing, development, and deployment.
[x] Create a test file that allows creation of the app with a different configuration.
[x] Utilise Flask Blueprints to interface with routes.
Unit Tests:
Unit tests should ensure individual functions to ensure they behave correctly. In general, a function requires typically between 2-5 unit tests. Unit tests should be automated, repeatable, run quickly, pinpoint failure, and limited in scope.
To create the unit tests, we will utilise the unittest package, assertion methods and assertion libraries.
[x] Create test class(es) that uses setUp and tearDown methods that can be used by multiple tests.
System tests:
System tests depend on the end user environment, this means testing how well the behaviour of the application works in the browser. Selenium will be used automate browsers to run test cases.
[x] Create Selenium WebDriver class(es) to be used for testing.
This issue is aimed at the creation of the structure and files required for testing (not the progress of implementing the test).
Decision making about what methods are needed to isolate the system under test (SUT). This involves test doubles, fakes, stubs, and mocks.
Changes to Flask structure:
Unit Tests: Unit tests should ensure individual functions to ensure they behave correctly. In general, a function requires typically between 2-5 unit tests. Unit tests should be automated, repeatable, run quickly, pinpoint failure, and limited in scope.
To create the unit tests, we will utilise the
unittest
package, assertion methods and assertion libraries.System tests: System tests depend on the end user environment, this means testing how well the behaviour of the application works in the browser. Selenium will be used automate browsers to run test cases.