The framework handles skipped activities differently than the actual Fabric environment. In Fabric, attempting to access the status of a skipped activity (activity('Notebook').status) causes the expression to break. However, the testing framework returns None. This means that an expression like:
@contains(
createArray(
activity('Fail1').status,
activity('Notebook').status
),
'Failed'
)
in the if-condition of this pipeline:

will work differently in tests compared to production. My preferred solution would be for Fabric to have a 'Skipped' status for skipped activities, but that is a different matter. For the testing framework to match Fabric it should fail to evaluate the if condition.
For completeness, this is the error:
