Awesome
gms2-test
Unit Testing Framework for Gamemaker Studio 2.3+
Table of Contents
Requirements
Supported Version | |
---|---|
Gamemaker Studio 2 | v2.3.0.x |
Download
Local Package
- Download the exported local package
- Select Tools > Import Local Package
- Navigate to the saved package and select import
- Import all resources
Marketplace
This package is available for download on the Gamemaker Marketplace.
Maintainers & Contribution
This package is maintained by Paige Marincak. To contribute, please fork the repo and make pull requests.
Samples
Samples can be viewed here.
API
Helpers
gmltest_start
Start running the unit tests
gmltest_set_deterministic
Sets the seed to a static value or a random value. Can be toggled.
@param {Bool} deterministic Whether to set the seed to a static value or not
Matchers
gmltest_expect_eq
Expects that the actual value is equal to the expected value
@param {*} expected
@param {*} actual
gmltest_expect_false
Expects that the provided value is false
@param {*} value
gmltest_expect_true
Expects that the provided value is true
@param {*} value
gmltest_expect_gt
Expects that the actual value is greater than the expected value
@param {*} expected
@param {*} actual
gmltest_expect_lt
Expects that the actual value is less than the expected value
@param {*} expected
@param {*} actual
gmltest_expect_neq
Expects that the actual value is not equal to the expected value
@param {*} expected
@param {*} actual
gmltest_expect_not_null
Expects that the provided value is not null
@param {*} value
gmltest_expect_null
Expects that the provided value is null
@param {*} value
Test Definitions
GMLTest_Harness
Base struct that all harnesses should extend from
///@description Called before the execution of the test.
/// Use this function to setup your fixtures and parameterized tests.
function setup(){
// Override this function
}
///@description Called after the execution of the test.
/// Use this function to clean up your fixtures and parameterized tests.
function tear_down(){
// Override this function
}
test
Register a basic test with a name and a function to execute
@param {String} name The name of the test to be logged to the console
@param {Function} fn The function to be executed
xtest
Disable a registered basic test that has a name and a function to execute
@param {String} name The name of the test to be logged to the console
@param {Function} fn The function to be executed
test_f
Register a fixture test with a harness, name and a function to execute
@param {Struct} harness The struct to use as the harness when the test executes
@param {String} name The name of the test to be logged to the console
@param {Function} fn The function to be executed
xtest_f
Disable a registered fixture test that has a harness, name and a function to execute
@param {Struct} harness The struct to use as the harness when the test executes
@param {String} name The name of the test to be logged to the console
@param {Function} fn The function to be executed
test_p
Register a parameterized test with a harness, name, array of parameters, and a function to execute
@param {Struct} harness The struct to use as the harness when the test executes
@param {String} name The name of the test to be logged to the console
@param {Array} array An array containing a list of parameters to be executed using the same provided function
@param {Function} fn The function to be executed which takes one parameter
xtest_p
Disable a registered parameterized test that has a harness, name, array of parameters, and a function to execute
@param {Struct} harness The struct to use as the harness when the test executes
@param {String} name The name of the test to be logged to the console
@param {Array} array An array containing a list of parameters to be executed using the same provided function
@param {Function} fn The function to be executed which takes one parameter
Unit Testing Resources
The following are a list of resources that can assist you with writing your unit tests.