This describe a bunch of tests to perform when messing with things related to health.
SETUP : Just have a healthy human spawn, with the AttackBodyPartByClickingIt attached. Check that the damage amount is above 0 (should be 10 to quick test it).
TEST : Press F a bunch of time while aiming with the mouse on the player torso until the player explode.
RESULT : You should see body parts flying, the camera should focus on the detached head, all body parts should disappear after a while and the head should too. After that, you're a ghost that you can control.
SETUP : Just have a healthy human spawn, with the AttackBodyPartByClickingIt attached. Check that the damage amount is above 0 (should be 10 to quick test it).
TEST : Press F a bunch of time while aiming with the mouse on the player's head until the player dies.
RESULT : You should immediately become a ghost.
SETUP : Just have a healthy human spawn, with the AttackBodyPartByClickingIt attached. Check that the damage amount is above 0 (should be 10 to quick test it).
TEST : Press F a bunch of time while aiming with the mouse on random body parts on the player.
RESULT : See that blood particles are spawning close to the body part you hit. Check that after a while, the player dies from lack of blood. Should take less than a minute if you hit a lot of time each body part.
SETUP : Just have a healthy human spawn, with the AttackBodyPartByClickingIt attached. Check that the damage amount is above 0 (should be 10 to quick test it).
TEST : Press F a bunch of time while aiming with the mouse on the feet.
RESULT : See that player movement is slower with injured feet. Try to destroy completely the feet to see that the player cannot move anymore.
SETUP : Just have a healthy human spawn, with the AttackBodyPartByClickingIt attached. Check that the damage amount is above 0 (should be 10 to quick test it).
TEST : Take an item in hand. Press F a bunch of time while aiming with the mouse on a hand, until you destroy it.
RESULT : See that a hand slot in the UI has disappeared, and that the player can't pick up items with its missing hand. Try to destroy the other one to check if the player can't take anything anymore. Check that the item held is dropped when the hand is destroyed.
SS3D, now with play mode tests ! Those are heavy tests, that require building the game, and, depending on the goal, they may require starting a server, launching multiple clients ...
Play mode tests need different setup based on what is tested . For instance, we might want to test picking up an item, for players embarking at the same time as host, or for players embarking after it. We could also test it just for host.
The pages below describe a bunch of tests related to different systems implemented that a reviewer should do in order to check if everything's alright.
All tests described here should be tests that did pass at some point on the develop branch.
Please add a mention if the test you add is supposed to pass in the future but not yet.
Those tests are under the form :
SetUp : What need to be done before starting the test.
Test : What need to be done to execute the test.
Result : The expected result.
These are edit mode tests that are intended to check the behaviour of public methods within the game systems. They are restricted to editor only functionality, so some code will not function (e.g. IEvent invocation)
These are edit mode tests that are intended to check basic configuration of objects. These represent actions that a non technical person could check in the editor (given a basic checklist) without needing to look at any code. Examples include making sure no prefabs have missing scripts, making sure all tile prefabs are within a certain size range, all asset data references are not null etc.
Asset audits have been configured as parameterized tests, so it will be immediately clear which object is causing failures.
Note that a business rule is that test failures for prefabs should be resolved before test failures for scenes, because the scenes may be broken because the prefabs in them are broken.
This page describes how testing framework.
Unity divides tests in two categories, play tests and editor tests. We decided to divide those tests into more subcategories. Here's a summary of the hierarchy, and you can find on the following pages a description of each of those, allowing you to choose the right category when writing a new test.
Play tests
Editor tests
Asset audit
Edit mode
Should work for backpack, gloves, shoes, jumpsuit, headsets left and right, glasses, mask, PDA.
SETUP : Just spawn a human, make it naked. Spawn a random piece of cloth.
TEST : Take the cloth by left clicking it and put it in the appropriate cloth container by dragging it with left click.
RESULT : You should see the cloth displaying on the player.
SETUP : Just spawn a human.
TEST : Pick up a random item by left clicking it.
RESULT : Check the item is well in hand and move accordingly to the player's movements.
SETUP : Just spawn a human. the human should have a few items on it already.
TEST : drag an item with left click and release outside of the container.
RESULT : Check the item is dropped close to the human, and the sprite is no longer showing in inventory.