1. Currently if an action fails then that stage will also fail. Unit test actions are different however, as the test actions have an option where you can specify whether a failed test should also fail the action.
2. You can access the success rates of unit tests through the expressions $Stage.Metrics.UnitTests.PercentPassed$, $Stage.Metrics.UnitTests.PercentFailed$, $Stage.Metrics.UnitTests.PercentErrors$ and $Stage.Metrics.UnitTests.PercentNotRun$. These expressions can be used in stage gates to determine whether a stage is considered successful or has failed.
I have added the ‘fail action if tests fail’ property to the MSTest action which should be available in the next build, which should be released today. I will let you know once the build is live