{"id":13529034,"url":"https://github.com/pmarincak/gms2-test","last_synced_at":"2026-01-17T05:30:27.698Z","repository":{"id":54459632,"uuid":"278227999","full_name":"pmarincak/gms2-test","owner":"pmarincak","description":"Unit Testing Framework for Gamemaker Studio 2.3+","archived":false,"fork":false,"pushed_at":"2022-12-27T00:45:00.000Z","size":32,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-02T15:36:31.359Z","etag":null,"topics":["game-development","gamemaker","gamemaker-language","gamemaker-studio-2","gml","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Game Maker Language","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmarincak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-09T01:03:14.000Z","updated_at":"2023-02-11T03:44:17.000Z","dependencies_parsed_at":"2023-01-31T02:15:33.358Z","dependency_job_id":null,"html_url":"https://github.com/pmarincak/gms2-test","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmarincak%2Fgms2-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmarincak%2Fgms2-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmarincak%2Fgms2-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmarincak%2Fgms2-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmarincak","download_url":"https://codeload.github.com/pmarincak/gms2-test/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655538,"owners_count":20812650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-development","gamemaker","gamemaker-language","gamemaker-studio-2","gml","unit-testing"],"created_at":"2024-08-01T07:00:31.922Z","updated_at":"2026-01-17T05:30:27.636Z","avatar_url":"https://github.com/pmarincak.png","language":"Game Maker Language","funding_links":[],"categories":["Debugging"],"sub_categories":["Recommendations"],"readme":"# gms2-test\nUnit Testing Framework for Gamemaker Studio 2.3+\n\n## Table of Contents\n\n 1. [Requirements](#requirements)\n 2. [Download](#download)\n\t - [Local Package](#local-package)\n\t - [Marketplace](#marketplace)\n 3. [Maintainers \u0026 Contribution](#maintainers--contribution)\n 4. [Samples](#samples)\n 5. [API](#api)\n\t - [Helpers](#helpers)\n\t - [Matchers](#matchers)\n\t - [Test Definitions](#test-definitions)\n 6. [Unit Testing Resources](#unit-testing-resources)\n\n## Requirements\n\n|| Supported Version |\n|--|--|\n| Gamemaker Studio 2 | v2.3.0.x |\n\n## Download\n### Local Package\n\n 1. Download the [exported local package](https://github.com/pmarincak/gms2-test/blob/master/export/package.gmltest.yymps)\n 2. Select Tools \u003e Import Local Package\n 3. Navigate to the saved package and select import\n 4. Import all resources\n\n### Marketplace\n\nThis package is available for download on the [Gamemaker Marketplace](https://marketplace.yoyogames.com/assets/9280/gms2-test).\n\n## Maintainers \u0026 Contribution\nThis package is maintained by [Paige Marincak](https://twitter.com/paigemarincak/). To contribute, please fork the repo and make pull requests.\n\n## Samples\nSamples can be viewed [here](https://github.com/pmarincak/gms2-test/tree/master/samples).\n\n## API\n### Helpers\n#### gmltest_start\nStart running the unit tests\n\n#### gmltest_set_deterministic\nSets the seed to a static value or a random value. Can be toggled.\n\n    @param {Bool} deterministic Whether to set the seed to a static value or not\n\n### Matchers\n#### gmltest_expect_eq\nExpects that the actual value is equal to the expected value\n\n    @param {*} expected\n    @param {*} actual\n\n#### gmltest_expect_false\nExpects that the provided value is false\n\n    @param {*} value\n\n#### gmltest_expect_true\nExpects that the provided value is true\n\n    @param {*} value\n\n#### gmltest_expect_gt\nExpects that the actual value is greater than the expected value\n\n       @param {*} expected\n       @param {*} actual\n\n#### gmltest_expect_lt\nExpects that the actual value is less than the expected value\n\n       @param {*} expected\n       @param {*} actual\n\n#### gmltest_expect_neq\nExpects that the actual value is not equal to the expected value\n\n    @param {*} expected\n    @param {*} actual\n\n#### gmltest_expect_not_null\nExpects that the provided value is not null\n\n    @param {*} value\n\n#### gmltest_expect_null\nExpects that the provided value is null\n\n    @param {*} value\n\n### Test Definitions\n#### GMLTest_Harness\nBase struct that all harnesses should extend from\n\n    ///@description Called before the execution of the test.\n    ///             Use this function to setup your fixtures and parameterized tests.\n    function setup(){\n    \t// Override this function\n    }\n\t\n    ///@description Called after the execution of the test.\n    ///             Use this function to clean up your fixtures and parameterized tests.\n    function tear_down(){\n    \t// Override this function\n    }\n#### test\nRegister a basic test with a name and a function to execute\n\n    @param {String} name The name of the test to be logged to the console\n    @param {Function} fn The function to be executed\n#### xtest\nDisable a registered basic test that has a name and a function to execute\n\n    @param {String} name The name of the test to be logged to the console\n    @param {Function} fn The function to be executed\n#### test_f\nRegister a fixture test with a harness, name and a function to execute\n\n    @param {Struct} harness The struct to use as the harness when the test executes\n    @param {String} name The name of the test to be logged to the console\n    @param {Function} fn The function to be executed\n\n#### xtest_f\nDisable a registered fixture test that has a harness, name and a function to execute\n\n    @param {Struct} harness The struct to use as the harness when the test executes\n    @param {String} name The name of the test to be logged to the console\n    @param {Function} fn The function to be executed\n\n#### test_p\nRegister a parameterized test with a harness, name, array of parameters, and a function to execute\n\n    @param {Struct} harness The struct to use as the harness when the test executes\n    @param {String} name The name of the test to be logged to the console\n    @param {Array} array An array containing a list of parameters to be executed using the same provided function\n    @param {Function} fn The function to be executed which takes one parameter\n\n#### xtest_p\nDisable a registered parameterized test that has a harness, name, array of parameters, and a function to execute\n\n    @param {Struct} harness The struct to use as the harness when the test executes\n    @param {String} name The name of the test to be logged to the console\n    @param {Array} array An array containing a list of parameters to be executed using the same provided function\n    @param {Function} fn The function to be executed which takes one parameter\n    \n## Unit Testing Resources\nThe following are a list of resources that can assist you with writing your unit tests. \n\n- [What is unit testing?](https://en.wikipedia.org/wiki/Unit_testing)\n- [What is a fixture?](https://en.wikipedia.org/wiki/Test_fixture)\n- [Beginner's Guide to Unit Testing](https://www.codementor.io/@wbsimms/unit-testing-foundations-programming-beginners-du107q81d)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmarincak%2Fgms2-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmarincak%2Fgms2-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmarincak%2Fgms2-test/lists"}