Files
.vs
Assets
Library
APIUpdater
Artifacts
Bee
BuildPlayerData
PackageCache
com.unity.collab-proxy@2.5.2
com.unity.editorcoroutines@1.0.0
com.unity.ext.nunit@1.0.6
com.unity.feature.development@1.0.1
com.unity.ide.rider@3.0.31
com.unity.ide.visualstudio@2.0.22
com.unity.ide.vscode@1.2.5
com.unity.modules.ai@1.0.0
com.unity.modules.androidjni@1.0.0
com.unity.modules.animation@1.0.0
com.unity.modules.assetbundle@1.0.0
com.unity.modules.audio@1.0.0
com.unity.modules.cloth@1.0.0
com.unity.modules.director@1.0.0
com.unity.modules.imageconversion@1.0.0
com.unity.modules.imgui@1.0.0
com.unity.modules.jsonserialize@1.0.0
com.unity.modules.particlesystem@1.0.0
com.unity.modules.physics2d@1.0.0
com.unity.modules.physics@1.0.0
com.unity.modules.screencapture@1.0.0
com.unity.modules.subsystems@1.0.0
com.unity.modules.terrain@1.0.0
com.unity.modules.terrainphysics@1.0.0
com.unity.modules.tilemap@1.0.0
com.unity.modules.ui@1.0.0
com.unity.modules.uielements@1.0.0
com.unity.modules.umbra@1.0.0
com.unity.modules.unityanalytics@1.0.0
com.unity.modules.unitywebrequest@1.0.0
com.unity.modules.unitywebrequestassetbundle@1.0.0
com.unity.modules.unitywebrequestaudio@1.0.0
com.unity.modules.unitywebrequesttexture@1.0.0
com.unity.modules.unitywebrequestwww@1.0.0
com.unity.modules.vehicles@1.0.0
com.unity.modules.video@1.0.0
com.unity.modules.vr@1.0.0
com.unity.modules.wind@1.0.0
com.unity.modules.xr@1.0.0
com.unity.performance.profile-analyzer@1.2.2
com.unity.settings-manager@2.0.1
com.unity.test-framework@1.1.33
Documentation~
UnityEditor.TestRunner
UnityEngine.TestRunner
Assertions
NUnitExtensions
TestRunner
Utils
AssemblyProvider
MonoBehaviourTest
AssemblyProvider.meta
AttributeHelper.cs
AttributeHelper.cs.meta
ColorEqualityComparer.cs
ColorEqualityComparer.cs.meta
CoroutineRunner.cs
CoroutineRunner.cs.meta
FloatEqualityComparer.cs
FloatEqualityComparer.cs.meta
IOuterUnityTestAction.cs
IOuterUnityTestAction.cs.meta
IPostBuildCleanup.cs
IPostBuildCleanup.cs.meta
IPrebuildSceneSetup.cs
IPrebuildSceneSetup.cs.meta
ITestRunCallback.cs
ITestRunCallback.cs.meta
MonoBehaviourTest.meta
PostBuildCleanupAttribute.cs
PostBuildCleanupAttribute.cs.meta
PrebuildSceneSetupAttribute.cs
PrebuildSceneSetupAttribute.cs.meta
QuaternionEqualityComparer.cs
QuaternionEqualityComparer.cs.meta
StacktraceFilter.cs
StacktraceFilter.cs.meta
TestRunCallbackAttribute.cs
TestRunCallbackAttribute.cs.meta
TestRunCallbackListener.cs
TestRunCallbackListener.cs.meta
Utils.cs
Utils.cs.meta
Vector2ComparerWithEqualsOperator.cs
Vector2ComparerWithEqualsOperator.cs.meta
Vector2EqualityComparer.cs
Vector2EqualityComparer.cs.meta
Vector3ComparerWithEqualsOperator.cs
Vector3ComparerWithEqualsOperator.cs.meta
Vector3EqualityComparer.cs
Vector3EqualityComparer.cs.meta
Vector4ComparerWithEqualsOperator.cs
Vector4ComparerWithEqualsOperator.cs.meta
Vector4EqualityComparer.cs
Vector4EqualityComparer.cs.meta
AssemblyInfo.cs
AssemblyInfo.cs.meta
Assertions.meta
NUnitExtensions.meta
TestRunner.meta
UnityEngine.TestRunner.asmdef
UnityEngine.TestRunner.asmdef.meta
Utils.meta
.signature
CHANGELOG.md
CHANGELOG.md.meta
CONTRIBUTING.md
CONTRIBUTING.md.meta
LICENSE.md
LICENSE.md.meta
UnityEditor.TestRunner.meta
UnityEngine.TestRunner.meta
package.json
package.json.meta
com.unity.testtools.codecoverage@1.2.6
com.unity.textmeshpro@3.0.6
com.unity.timeline@1.7.6
com.unity.ugui@1.0.0
com.unity.visualscripting@1.9.4
PackageManager
PlayModeViewStates
PlayerDataCache
ScriptAssemblies
Search
ShaderCache
SplashScreenCache
StateCache
UIElements
AnnotationManager
ArtifactDB
ArtifactDB-lock
BuildPlayer.prefs
BuildSettings.asset
EditorOnlyScriptingSettings.json
EditorOnlyVirtualTextureState.json
EditorSnapSettings.asset
EditorUserBuildSettings.asset
InspectorExpandedItems.asset
LastBuild.buildreport
LastSceneManagerSetup.txt
LibraryFormatVersion.txt
MonoManager.asset
SceneVisibilityState.asset
ScriptMapper
ShaderCache.db
SourceAssetDB
SourceAssetDB-lock
SpriteAtlasDatabase.asset
Style.catalog
expandedItems
ilpp.pid
Logs
Packages
ProjectSettings
UserSettings
obj
.vsconfig
Assembly-CSharp.Player.csproj
Assembly-CSharp.csproj
TM1.sln
Unity.CollabProxy.Editor.csproj
Unity.EditorCoroutines.Editor.csproj
Unity.Performance.Profile-Analyzer.Editor.csproj
Unity.PlasticSCM.Editor.csproj
Unity.Rider.Editor.csproj
Unity.Settings.Editor.csproj
Unity.TestTools.CodeCoverage.Editor.OpenCover.Model.csproj
Unity.TestTools.CodeCoverage.Editor.OpenCover.Mono.Reflection.csproj
Unity.TestTools.CodeCoverage.Editor.csproj
Unity.TextMeshPro.Editor.csproj
Unity.TextMeshPro.Player.csproj
Unity.TextMeshPro.csproj
Unity.Timeline.Editor.csproj
Unity.Timeline.Player.csproj
Unity.Timeline.csproj
Unity.VSCode.Editor.csproj
Unity.VisualScripting.Core.Editor.csproj
Unity.VisualScripting.Core.Player.csproj
Unity.VisualScripting.Core.csproj
Unity.VisualScripting.Flow.Editor.csproj
Unity.VisualScripting.Flow.Player.csproj
Unity.VisualScripting.Flow.csproj
Unity.VisualScripting.SettingsProvider.Editor.csproj
Unity.VisualScripting.Shared.Editor.csproj
Unity.VisualScripting.State.Editor.csproj
Unity.VisualScripting.State.Player.csproj
Unity.VisualScripting.State.csproj
Unity.VisualStudio.Editor.csproj
UnityEditor.TestRunner.csproj
UnityEditor.UI.csproj
UnityEngine.TestRunner.Player.csproj
UnityEngine.TestRunner.csproj
UnityEngine.UI.Player.csproj
UnityEngine.UI.csproj
SimonSayeBabu bd1057cec0 first commit
2025-01-17 13:10:20 +01:00

75 lines
3.0 KiB
C#

using System;
namespace UnityEngine.TestTools
{
/// <summary>
/// PrebuildSetup attribute run if the test or test class is in the current test run. The test is included either by running all tests or setting a filter that includes the test. If multiple tests reference the same pre-built setup or post-build cleanup, then it only runs once.
/// </summary>
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)]
public class PrebuildSetupAttribute : Attribute
{
/// <summary>
/// Initializes and returns an instance of PrebuildSetupAttribute by type.
/// </summary>
/// <param name="targetClass">The type of the target class.</param>
public PrebuildSetupAttribute(Type targetClass)
{
TargetClass = targetClass;
}
/// <summary>
///
/// </summary>
/// <param name="targetClassName"></param>
/// <example>
/// <code>
/// [TestFixture]
/// public class CreateSpriteTest : IPrebuildSetup
/// {
/// Texture2D m_Texture;
/// Sprite m_Sprite;
///
/// public void Setup()
/// {
///
/// #if UNITY_EDITOR
///
/// var spritePath = "Assets/Resources/Circle.png";
/// var ti = UnityEditor.AssetImporter.GetAtPath(spritePath) as UnityEditor.TextureImporter;
/// ti.textureCompression = UnityEditor.TextureImporterCompression.Uncompressed;
/// ti.SaveAndReimport();
///
/// #endif
/// }
///
/// [SetUp]
/// public void SetUpTest()
/// {
/// m_Texture = Resources.Load&lt;Texture2D&gt;("Circle");
/// }
///
/// [Test]
/// public void WhenNullTextureIsPassed_CreateShouldReturnNullSprite()
/// {
///
/// // Check with Valid Texture.
/// LogAssert.Expect(LogType.Log, "Circle Sprite Created");
/// Sprite.Create(m_Texture, new Rect(0, 0, m_Texture.width, m_Texture.height), new Vector2(0.5f, 0.5f));
/// Debug.Log("Circle Sprite Created");
///
/// // Check with NULL Texture. Should return NULL Sprite.
/// m_Sprite = Sprite.Create(null, new Rect(0, 0, m_Texture.width, m_Texture.heig`t), new Vector2(0.5f, 0.5f));
/// Assert.That(m_Sprite, Is.Null, "Sprite created with null texture should be null");
/// }
/// }
/// </code>
/// Tip: Use `#if UNITY_EDITOR` if you want to access Editor only APIs, but the setup/cleanup is inside a **Play Mode** assembly.
/// </example>
public PrebuildSetupAttribute(string targetClassName)
{
TargetClass = AttributeHelper.GetTargetClassFromName(targetClassName, typeof(IPrebuildSetup));
}
internal Type TargetClass { get; private set; }
}
}