getsentry / sentry-unity

Development of Sentry SDK for Unity
https://docs.sentry.io/platforms/unity/
MIT License
206 stars 51 forks source link

Make full use of Unity Test Framework #1177

Open bitsandfoxes opened 1 year ago

bitsandfoxes commented 1 year ago

The unit testing setup is a bit brittle right now. Consider:

bitsandfoxes commented 1 year ago

As a sidenote, the flow of setup/teardown looks like this:

Executing setup for: Sentry.Unity.Tests.DerivedClass
Pre Build Setup

Executing setup for: Sentry.Unity.Tests.DerivedClass2
Pre Build Setup

RuntimeConfiguration::Configure() called
Disabling the SDK while running tests.
RuntimeConfiguration::Configure() finished

OneTimeSetUp Base:  DerivedClass
OneTimeSetUp:       DerivedClass

UnitySetup  Base:   UnitTest_1
UnitySetup:         UnitTest_1
SetUp Base:         UnitTest_1
SetUp:              UnitTest_1

Test:               UnitTest_1

TearDown:           UnitTest_1
TearDown Base:      UnitTest_1
UnityTearDown:      UnitTest_1
UnityTearDown Base: UnitTest_1

UnitySetup Base:    UnityTest_1
UnitySetup:         UnityTest_1
SetUp Base:         UnityTest_1
SetUp:              UnityTest_1

UnityTest before yield: UnityTest_1
UnityTest after yield:  UnityTest_1

TearDown:           UnityTest_1
TearDown Base:      UnityTest_1
UnityTearDown:      UnityTest_1
UnityTearDown Base: UnityTest_1

OneTimeTearDown: UnityTest_1

OneTimeSetUp Base:  DerivedClass2
OneTimeSetUp::      DerivedClass2

UnitySetup Base:    UnitTest_2
UnitySetup:         UnitTest_2
SetUp Base:         UnitTest_2
SetUp:              UnitTest_2

Test:               UnitTest_2

TearDown:           UnitTest_2
TearDown Base:      UnitTest_2
UnityTearDown:      UnitTest_2
UnityTearDown Base: UnitTest_2

UnitySetup Base:    UnityTest_2
UnitySetup:         UnityTest_2
SetUp Base:         UnityTest_2
SetUp:              UnityTest_2

UnityTest before yield: UnityTest_2
UnityTest after yield:  UnityTest_2

TearDown:           UnityTest_2
TearDown Base:      UnityTest_2
UnityTearDown:      UnityTest_2
UnityTearDown Base: UnityTest_2

OneTimeTearDown:    UnityTest_2

Executing cleanup for: Sentry.Unity.Tests.DerivedClass
Post Build Cleanup

Executing cleanup for: Sentry.Unity.Tests.DerivedClass2
Post Build Cleanup