unreal.FunctionalTest

class unreal.FunctionalTest(outer=None, name='None')

Bases: unreal.Actor

Functional Test

C++ Source:

  • Module: FunctionalTesting

  • File: FunctionalTest.h

Editor Properties: (see get_editor_property/set_editor_property)

  • actor_guid (Guid): [Read-Only] The GUID for this actor.

  • allow_tick_before_begin_play (bool): [Read-Write] Whether we allow this Actor to tick before it receives the BeginPlay event. Normally we don’t tick actors until after BeginPlay; this setting allows this behavior to be overridden. This Actor must be able to tick for this setting to be relevant.

  • always_relevant (bool): [Read-Write] Always relevant for network (overrides bOnlyRelevantToOwner).

  • author (str): [Read-Write] The author is the group or person responsible for the test. Generally you should use a group name like ‘Editor Team’ or ‘Rendering Team’. When a test fails it may not be obvious who should investigate so this provides a associate responsible groups with tests.

  • auto_destroy_when_finished (bool): [Read-Write] If true then destroy self when “finished”, meaning all relevant components report that they are done and no timelines or timers are in flight.

  • auto_receive_input (AutoReceiveInput): [Read-Write] Automatically registers this actor to receive input from a player.

  • block_input (bool): [Read-Write] If true, all input on the stack below this actor will not be considered

  • can_be_damaged (bool): [Read-Write] Whether this actor can take damage. Must be true for damage events (e.g. ReceiveDamage()) to be called. see: https://www.unrealengine.com/blog/damage-in-ue4 see: TakeDamage(), ReceiveDamage()

  • can_be_in_cluster (bool): [Read-Write] If true, this actor can be put inside of a GC Cluster to improve Garbage Collection performance

  • custom_time_dilation (float): [Read-Write] Allow each actor to run at a different time speed. The DeltaTime for a frame is multiplied by the global TimeDilation (in WorldSettings) and this CustomTimeDilation for this actor’s tick.

  • default_update_overlaps_method_during_level_streaming (ActorUpdateOverlapsMethod): [Read-Only] Default value taken from config file for this class when ‘UseConfigDefault’ is chosen for ‘UpdateOverlapsMethodDuringLevelStreaming’. This allows a default to be chosen per class in the matching config. For example, for Actor it could be specified in DefaultEngine.ini as:

    [/Script/Engine.Actor] DefaultUpdateOverlapsMethodDuringLevelStreaming = OnlyUpdateMovable

    Another subclass could set their default to something different, such as:

    [/Script/Engine.BlockingVolume] DefaultUpdateOverlapsMethodDuringLevelStreaming = NeverUpdate see: UpdateOverlapsMethodDuringLevelStreaming

  • description (str): [Read-Write] A description of the test, like what is this test trying to determine.

  • enable_auto_lod_generation (bool): [Read-Write] If true, and if World setting has bEnableHierarchicalLOD equal to true, then it will generate LODActor from groups of clustered Actor

  • find_camera_component_when_view_target (bool): [Read-Write] If true, this actor should search for an owned camera component to view through when used as a view target.

  • generate_overlap_events_during_level_streaming (bool): [Read-Write] If true, this actor will generate overlap Begin/End events when spawned as part of level streaming, which includes initial level load. You might enable this is in the case where a streaming level loads around an actor and you want Begin/End overlap events to trigger. see: UpdateOverlapsMethodDuringLevelStreaming

  • hidden (bool): [Read-Write] Allows us to only see this Actor in the Editor, and not in the actual game. see: SetActorHiddenInGame()

  • ignores_origin_shifting (bool): [Read-Write] Whether this actor should not be affected by world origin shifting.

  • initial_life_span (float): [Read-Write] How long this Actor lives before dying, 0=forever. Note this is the INITIAL value and should not be modified once play has begun.

  • input_priority (int32): [Read-Write] The priority of this input component when pushed in to the stack.

  • instigator (Pawn): [Read-Write] Pawn responsible for damage and other gameplay events caused by this actor.

  • is_editor_only_actor (bool): [Read-Write] Whether this actor is editor-only. Use with care, as if this actor is referenced by anything else that reference will be NULL in cooked builds

  • is_enabled_value (bool): [Read-Write] Allows a test to be disabled. If a test is disabled, it will not appear in the set of runnable tests (after saving the map).

  • log_error_handling (FunctionalTestLogHandling): [Read-Write] Determines how LogErrors are handled during this test.

  • log_warning_handling (FunctionalTestLogHandling): [Read-Write] Determines how LogWarnings are handled during this test.

  • min_net_update_frequency (float): [Read-Write] Used to determine what rate to throttle down to when replicated properties are changing infrequently

  • net_cull_distance_squared (float): [Read-Write] Square of the max distance from the client’s viewpoint that this actor is relevant and will be replicated.

  • net_dormancy (NetDormancy): [Read-Write] Dormancy setting for actor to take itself off of the replication list without being destroyed on clients.

  • net_load_on_client (bool): [Read-Write] This actor will be loaded on network clients during map load

  • net_priority (float): [Read-Write] Priority for this actor when checking for replication in a low bandwidth or saturated situation, higher priority means it is more likely to replicate

  • net_update_frequency (float): [Read-Write] How often (per second) this actor will be considered for replication, used to determine NetUpdateTime

  • net_use_owner_relevancy (bool): [Read-Write] If actor has valid Owner, call Owner’s IsNetRelevantFor and GetNetPriority

  • observation_point (Actor): [Read-Write] Allows you to specify another actor to view the test from. Usually this is a camera you place in the map to observe the test. Not useful when running on a build farm, but provides a handy way to observe the test from a different location than you place the functional test actor.

  • on_actor_begin_overlap (ActorBeginOverlapSignature): [Read-Write] Called when another actor begins to overlap this actor, for example a player walking into a trigger. For events when objects have a blocking collision, for example a player hitting a wall, see ‘Hit’ events. note: Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.

  • on_actor_end_overlap (ActorEndOverlapSignature): [Read-Write] Called when another actor stops overlapping this actor. note: Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.

  • on_actor_hit (ActorHitSignature): [Read-Write] Called when this Actor hits (or is hit by) something solid. This could happen due to things like Character movement, using Set Location with ‘sweep’ enabled, or physics simulation. For events when objects overlap (e.g. walking into a trigger) see the ‘Overlap’ event. note: For collisions during physics simulation to generate hit events, ‘Simulation Generates Hit Events’ must be enabled.

  • on_begin_cursor_over (ActorBeginCursorOverSignature): [Read-Write] Called when the mouse cursor is moved over this actor if mouse over events are enabled in the player controller.

  • on_clicked (ActorOnClickedSignature): [Read-Write] Called when the left mouse button is clicked while the mouse is over this actor and click events are enabled in the player controller.

  • on_destroyed (ActorDestroyedSignature): [Read-Write] Event triggered when the actor has been explicitly destroyed.

  • on_end_cursor_over (ActorEndCursorOverSignature): [Read-Write] Called when the mouse cursor is moved off this actor if mouse over events are enabled in the player controller.

  • on_end_play (ActorEndPlaySignature): [Read-Write] Event triggered when the actor is being deleted or removed from a level.

  • on_input_touch_begin (ActorOnInputTouchBeginSignature): [Read-Write] Called when a touch input is received over this actor when touch events are enabled in the player controller.

  • on_input_touch_end (ActorOnInputTouchEndSignature): [Read-Write] Called when a touch input is received over this component when touch events are enabled in the player controller.

  • on_input_touch_enter (ActorBeginTouchOverSignature): [Read-Write] Called when a finger is moved over this actor when touch over events are enabled in the player controller.

  • on_input_touch_leave (ActorEndTouchOverSignature): [Read-Write] Called when a finger is moved off this actor when touch over events are enabled in the player controller.

  • on_released (ActorOnReleasedSignature): [Read-Write] Called when the left mouse button is released while the mouse is over this actor and click events are enabled in the player controller.

  • on_take_any_damage (TakeAnyDamageSignature): [Read-Write] Called when the actor is damaged in any way.

  • on_take_point_damage (TakePointDamageSignature): [Read-Write] Called when the actor is damaged by point damage.

  • on_take_radial_damage (TakeRadialDamageSignature): [Read-Write] Called when the actor is damaged by radial damage.

  • on_test_finished (FunctionalTestEventSignature): [Read-Write] Called when the test is finished. Use it to clean up

  • on_test_prepare (FunctionalTestEventSignature): [Read-Write] Called when the test is ready to prepare

  • on_test_start (FunctionalTestEventSignature): [Read-Write] Called when the test is started

  • only_relevant_to_owner (bool): [Read-Write] If true, this actor is only relevant to its owner. If this flag is changed during play, all non-owner channels would need to be explicitly closed.

  • optimize_bp_component_data (bool): [Read-Write] Whether to cook additional data to speed up spawn events at runtime for any Blueprint classes based on this Actor. This option may slightly increase memory usage in a cooked build.

  • pivot_offset (Vector): [Read-Write] Local space pivot offset for the actor, only used in the editor

  • preparation_time_limit (float): [Read-Write] The Test’s time limit for preparation, this is the time it has to return true when checking IsReady(). ‘0’ means no limit.

  • primary_actor_tick (ActorTickFunction): [Read-Write] Primary Actor tick function, which calls TickActor(). Tick functions can be configured to control whether ticking is enabled, at what time during a frame the update occurs, and to set up tick dependencies. see: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/FTickFunction/ see: AddTickPrerequisiteActor(), AddTickPrerequisiteComponent()

  • random_numbers_stream (RandomStream): [Read-Write] A random number stream that you can use during testing. This number stream will be consistent every time the test is run.

  • relevant_for_level_bounds (bool): [Read-Write] If true, this actor’s component’s bounds will be included in the level’s bounding box unless the Actor’s class has overridden IsLevelBoundsRelevant

  • replay_rewindable (bool): [Read-Write] If true, this actor will only be destroyed during scrubbing if the replay is set to a time before the actor existed. Otherwise, RewindForReplay will be called if we detect the actor needs to be reset. Note, this Actor must not be destroyed by gamecode, and RollbackViaDeletion may not be used.

  • replicate_movement (bool): [Read-Write] If true, replicate movement/location related properties. Actor must also be set to replicate. see: SetReplicates() see: https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Replication/

  • replicated_movement (RepMovement): [Read-Write] Used for replication of our RootComponent’s position and velocity

  • replicates (bool): [Read-Write] If true, this actor will replicate to remote machines see: SetReplicates()

  • result (FunctionalTestResult): [Read-Write] Result

  • root_component (SceneComponent): [Read-Write] The component that defines the transform (location, rotation, scale) of this Actor in the world, all other components must be attached to this one somehow

  • spawn_collision_handling_method (SpawnActorCollisionHandlingMethod): [Read-Write] Controls how to handle spawning this actor in a situation where it’s colliding with something else. “Default” means AlwaysSpawn here.

  • sprite_scale (float): [Read-Write] The scale to apply to any billboard components in editor builds (happens in any WITH_EDITOR build, including non-cooked games).

  • tags (Array(Name)): [Read-Write] Array of tags that can be used for grouping and categorizing.

  • time_limit (float): [Read-Write] Test’s time limit. ‘0’ means no limit

  • times_up_message (Text): [Read-Write] Times Up Message

  • times_up_result (FunctionalTestResult): [Read-Write] If test is limited by time this is the result that will be returned when time runs out

  • total_time (float): [Read-Write] Total Time

  • update_overlaps_method_during_level_streaming (ActorUpdateOverlapsMethod): [Read-Write] Condition for calling UpdateOverlaps() to initialize overlap state when loaded in during level streaming. If set to ‘UseConfigDefault’, the default specified in ini (displayed in ‘DefaultUpdateOverlapsMethodDuringLevelStreaming’) will be used. If overlaps are not initialized, this actor and attached components will not have an initial state of what objects are touching it, and overlap events may only come in once one of those objects update overlaps themselves (for example when moving). However if an object touching it does initialize state, both objects will know about their touching state with each other. This can be a potentially large performance savings during level loading and streaming, and is safe if the object and others initially overlapping it do not need the overlap state because they will not trigger overlap notifications.

    Note that if ‘bGenerateOverlapEventsDuringLevelStreaming’ is true, overlaps are always updated in this case, but that flag determines whether the Begin/End overlap events are triggered. see: bGenerateOverlapEventsDuringLevelStreaming, DefaultUpdateOverlapsMethodDuringLevelStreaming, GetUpdateOverlapsMethodDuringLevelStreaming()

add_error(message)None

Add Error

Parameters

message (str) –

add_rerun(reason)None

Causes the test to be rerun for a specific named reason.

Parameters

reason (Name) –

add_warning(message)None

Add Warning

Parameters

message (str) –

assert_equal_bool(actual, expected, what, context_object=None)bool

Assert that two bools are equal

Parameters
  • actual (bool) –

  • expected (bool) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be Equal To {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

assert_equal_float(actual, expected, what, tolerance=0.0001, context_object=None)bool

Assert that two floats are equal within tolerance between two floats.

Parameters
  • actual (float) –

  • expected (float) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be Equal To {Expected} within Tolerance for context ‘’)

  • tolerance (float) –

  • context_object (Object) –

Returns

Return type

bool

assert_equal_int(actual, expected, what, context_object=None)bool

Assert that two ints are equal

Parameters
  • actual (int32) –

  • expected (int32) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be Equal To {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

assert_equal_name(actual, expected, what, context_object=None)bool

Assert that two FNames are equal

Parameters
  • actual (Name) –

  • expected (Name) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be Equal To {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

assert_equal_object(actual, expected, what, context_object=None)bool

Assert that two Objects are equal

Parameters
  • actual (Object) –

  • expected (Object) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be Equal To {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

assert_equal_rotator(actual, expected, what, tolerance=0.0001, context_object=None)bool

Assert that the component angles of two rotators are all equal within a small tolerance.

Parameters
  • actual (Rotator) –

  • expected (Rotator) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ to be {Expected} but it was {Actual} for context ‘’”)

  • tolerance (float) –

  • context_object (Object) –

Returns

Return type

bool

assert_equal_string(actual, expected, what, context_object=None)bool

Assert that two Strings are equal.

Parameters
  • actual (str) –

  • expected (str) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ to be {Expected} but it was {Actual} for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_equal_trace_query_results(actual, expected, what, context_object=None)bool

Assert that two TraceQueryResults are equal.

Parameters
Returns

Return type

bool

assert_equal_transform(actual, expected, what, tolerance=0.0001, context_object=None)bool

Assert that two transforms are (components memberwise - translation, rotation, scale) equal within a small tolerance.

Parameters
  • actual (Transform) –

  • expected (Transform) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ to be {Expected} but it was {Actual} for context ‘’”)

  • tolerance (float) –

  • context_object (Object) –

Returns

Return type

bool

assert_equal_vector(actual, expected, what, tolerance=0.0001, context_object=None)bool

Assert that two vectors are (memberwise) equal within a small tolerance.

Parameters
  • actual (Vector) –

  • expected (Vector) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ to be {Expected} but it was {Actual} for context ‘’”)

  • tolerance (float) –

  • context_object (Object) –

Returns

Return type

bool

assert_false(condition, message, context_object=None)bool

Assert that a boolean value is false.

Parameters
  • condition (bool) –

  • message (str) – The message to display if the assert fails (“Assertion Failed: ‘Message’ for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_is_valid(object, message, context_object=None)bool

Assert that a UObject is valid

Parameters
  • object (Object) –

  • message (str) – The message to display if the object is invalid (“Invalid object: ‘Message’ for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_not_equal_rotator(actual, not_expected, what, context_object=None)bool

Assert that the component angles of two rotators are all not equal within a small tolerance.

Parameters
  • actual (Rotator) –

  • not_expected (Rotator) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ not to be {Expected} but it was {Actual} for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_not_equal_string(actual, not_expected, what, context_object=None)bool

Assert that two Strings are not equal.

Parameters
  • actual (str) –

  • not_expected (str) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ not to be {Expected} but it was {Actual} for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_not_equal_transform(actual, not_expected, what, context_object=None)bool

Assert that two transforms are (components memberwise - translation, rotation, scale) not equal within a small tolerance.

Parameters
  • actual (Transform) –

  • not_expected (Transform) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ not to be {Expected} but it was {Actual} for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_not_equal_vector(actual, not_expected, what, context_object=None)bool

Assert that two vectors are (memberwise) not equal within a small tolerance.

Parameters
  • actual (Vector) –

  • not_expected (Vector) –

  • what (str) – A name to use in the message if the assert fails (“Expected ‘What’ not to be {Expected} but it was {Actual} for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_true(condition, message, context_object=None)bool

Assert that a boolean value is true.

Parameters
  • condition (bool) –

  • message (str) – The message to display if the assert fails (“Assertion Failed: ‘Message’ for context ‘’”)

  • context_object (Object) –

Returns

Return type

bool

assert_value_date_time(actual, should_be, expected, what, context_object=None)bool

Assert on a relationship between two DateTimes.

Parameters
  • actual (DateTime) –

  • should_be (ComparisonMethod) –

  • expected (DateTime) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be <ShouldBe> {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

assert_value_float(actual, should_be, expected, what, context_object=None)bool

Assert on a relationship between two floats.

Parameters
  • actual (float) –

  • should_be (ComparisonMethod) –

  • expected (float) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be <ShouldBe> {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

assert_value_int(actual, should_be, expected, what, context_object=None)bool

Assert on a relationship between two integers.

Parameters
  • actual (int32) –

  • should_be (ComparisonMethod) –

  • expected (int32) –

  • what (str) – A name to use in the message if the assert fails (What: expected {Actual} to be <ShouldBe> {Expected} for context ‘’)

  • context_object (Object) –

Returns

Return type

bool

property author

[Read-Only] The author is the group or person responsible for the test. Generally you should use a group name like ‘Editor Team’ or ‘Rendering Team’. When a test fails it may not be obvious who should investigate so this provides a associate responsible groups with tests.

Type

(str)

debug_gather_relevant_actors()

Used by debug drawing to gather actors this test is using and point at them on the level to better understand test’s setup

Returns

Return type

Array(Actor)

property description

[Read-Only] A description of the test, like what is this test trying to determine.

Type

(str)

finish_test(test_result, message)None

Finish Test

Parameters
get_current_rerun_reason()Name

Returns the current re-run reason if we’re in a named re-run.

Returns

Return type

Name

is_enabled()bool

Is Enabled

Returns

Return type

bool

property is_enabled_value

[Read-Only] Allows a test to be disabled. If a test is disabled, it will not appear in the set of runnable tests (after saving the map).

Type

(bool)

is_ready()bool

IsReady() is called once per frame after a test is run, until it returns true. You should use this function to delay Start being called on the test until preconditions are met.

Returns

Return type

bool

is_running()bool

AActor interface end

Returns

Return type

bool

property log_error_handling

[Read-Only] Determines how LogErrors are handled during this test.

Type

(FunctionalTestLogHandling)

log_message(message)None

Log Message

Parameters

message (str) –

property log_warning_handling

[Read-Only] Determines how LogWarnings are handled during this test.

Type

(FunctionalTestLogHandling)

property observation_point

[Read-Write] Allows you to specify another actor to view the test from. Usually this is a camera you place in the map to observe the test. Not useful when running on a build farm, but provides a handy way to observe the test from a different location than you place the functional test actor.

Type

(Actor)

on_additional_test_finished_message_request(test_result)str

On Additional Test Finished Message Request

Parameters

test_result (FunctionalTestResult) –

Returns

Return type

str

property on_test_finished

[Read-Write] Called when the test is finished. Use it to clean up

Type

(FunctionalTestEventSignature)

property on_test_prepare

[Read-Write] Called when the test is ready to prepare

Type

(FunctionalTestEventSignature)

property on_test_start

[Read-Write] Called when the test is started

Type

(FunctionalTestEventSignature)

on_wants_re_run_check()bool

retrieves information whether test wants to have another run just after finishing

Returns

Return type

bool

property preparation_time_limit

[Read-Only] The Test’s time limit for preparation, this is the time it has to return true when checking IsReady(). ‘0’ means no limit.

Type

(float)

property random_numbers_stream

[Read-Write] A random number stream that you can use during testing. This number stream will be consistent every time the test is run.

Type

(RandomStream)

receive_prepare_test()None

Prepare Test is fired once the test starts up, before the test IsReady() and thus before Start Test is called. So if there’s some initial conditions or setup that you might need for your IsReady() check, you might want to do that here.

receive_start_test()None

Called once the IsReady() check for the test returns true. After that happens the test has Officially started, and it will begin receiving Ticks in the blueprint.

register_auto_destroy_actor(actor_to_auto_destroy)None
ACtors registered this way will be automatically destroyed (by limiting their lifespan)

on test finish

Parameters

actor_to_auto_destroy (Actor) –

property result

[Read-Write] Result

Type

(FunctionalTestResult)

set_time_limit(new_time_limit, result_when_time_runs_out)None

Set Time Limit

Parameters
property time_limit

[Read-Only] Test’s time limit. ‘0’ means no limit

Type

(float)

property times_up_message

[Read-Write] Times Up Message

Type

(Text)

property total_time

[Read-Only] Total Time

Type

(float)