BigBlueButton Mobile Client Unit Tests

From CDOT Wiki
Revision as of 17:28, 3 November 2014 by Adam Nicholas Sharpe (talk | contribs) (Model Unit Tests)
Jump to: navigation, search

***Under construction!!!***

Unit Testing Philosophy

What is unit testing? Why bother?

Anyone who writes any sort of non-trivial code knows that mistakes are very easy to make. Overlooking special edge cases, or failing to do null checks when they are not enforced by the way your code is typed, for example, can cause your application to crash. Being certain that the code you write is absolutely correct is a difficult problem to solve. Unit testing aims to partially solve this problem, building on the insight that if all of the parts of a program do the correct thing, then the program as a whole will do the correct thing. Therefore, we should aim to test the parts of an application as exhaustively as possible. The parts we test (typically functions or classes) are called 'units'.

Is it worth it... really??

How many unit tests should a function get?

Flex Unit Testing and Mockolate Unit Testing Frameworks


Mobile Client Unit Testing Idioms

Unit Tests Coverage, Notes

Model Unit Tests

***Github links coming soon... ***

Module Class Name Coverage Notes Github
Chat ChatMessage Complete Simple class. The tests just make sure that XML tags are stripped from chat messages. ima github link
Chat ChatMessages Complete - ima github link
Chat ChatMessagesSession Not started Looks straightforward. ima github link
Chat ChatMessageVO None Too simple. Not worth testing. ima github link
Chat PrivateChatMessage None Too simple, not worth testing. ima github link
Presentation Presentation Not started. - ima github link
Presentation PresentationList Not started. - ima github link
Presentation Slide Not started. - ima github link
User User None Too simple. Not worth testing. ima github link
User UserList Complete Big class. Large number of unit tests... ima github link
User UserSession None Too Simple. Not worth testing. ima github link
User UserUISession Complete - ima github link