Know when to adapt to next revision
Explanation
Test Configurations are always built upon a single currently loaded Application Revision. The information in that revision is used to determine which objects and object values can exist in the database, and which microflows can be executed. This in turn allows to create the necessary Teststeps that are needed to build a test in MTA. And, when the test is executed, gives some guarantee that these model elements also exist in the Application Instance that the test is running on.
To allow Test Configurations to stay updated with changes done in the Mendix model, they can be adapted to another revision. Note that this does not necessarily have to be a newer revision, it can be any revision on any branch of the App. Downloading a revision can be done in the background by using a Branch Subscription, but adapting must be done manually because adapting can lead to Construction Errors.
Construction Errors in a Test Configuration will block executing it. Executing would lead to an error in the Test Run, because model elements don't match. But, it is not always necessary to adapt to the revision of the Application Instance, in order to Execute the Test Configuration. Below is a list of scenario's, which would lead to an error when executing or not.
Scenario
Microflow means any Microflow or Rule
Used? means the entity, attribute or microflow is used in a teststep
Change done in next revision | Is Used? | Result after adapt | Execute without adapt |
---|---|---|---|
Added entity | N/A | ||
Deleted existing entity | Not Used | ||
Deleted existing entity | Used in Teststep | Construction Error | Runtime Error |
Added attribute | N/A | ||
Deleted existing attribute | Not Used | ||
Deleted existing attribute | Used in Teststep | Construction Error | Runtime Error |
Added association | N/A | ||
Deleted existing association | Not Used | ||
Deleted existing association | Used in Teststep | Construction Error | Runtime Error |
Renamed entity | Not Used | ||
Renamed entity | Used in Teststep | ||
Renamed attribute | Not Used | ||
Renamed attribute | Used in Teststep | ||
Renamed association | Not Used | ||
Renamed association | Used in Teststep | ||
Other domain model change | Not Used | ||
Other domain model change | Used in Teststep | ||
Added microflow | N/A | ||
Deleted existing microflow | Not Used | ||
Deleted existing microflow | Used in Teststep | Construction Error | Runtime Error |
Added input parameter | Not Used | ||
Added Primitive input parameter | Used in Teststep | Runtime Error | |
Added Object input parameter | Used in Teststep | Construction Error | Runtime Error |
Deleted input parameter | Not Used | ||
Deleted input parameter | Used in Teststep | Construction Error | Runtime Error |
Changed parameter datatype | Not Used | ||
Changed parameter datatype * | Used in Teststep | Construction Error | Runtime Error |
Renamed input parameter | Not Used | ||
Renamed input parameter | Used in Teststep | ||
Changed return value | Not Used | ||
Changed return value | Used in Teststep | Construction Error | Runtime Error |
Other microflow change | Not Used | ||
Other microflow change | Used in Teststep | ||
Any other model change | N/A |
*
Upon adapting, some primitive datatypes are convertable by MTA when they are changed, and will not lead to a Construction Error.
For more information, also see the Using Primitives chapter in "Use previous teststeps data".
Feedback?
Missing anything? Let us know!
Last updated 16 July 2025