What do you want to achieve?
I want to have a way of running unit tests on code without opening studio.
The reason is so that I can create an automated testing pipeline in which code that I or anyone working for me writes gets tested before being pushed.
-
What is the issue?
There is no local roblox studio testing environment that I can run on a server and control through code without logging in to my acount. -
What solutions have you tried so far?
Ive tried using different lua interpreters like lune:
these are definitely cool but I find that I would have to re create a large amount of the roblox APIs,
it also deosnt support everything that the current roblox LUAU does,
and it deosnt have a 3d workspace it can make changes to.
This is important as it would be interesting to read what is happening in the workspace for more advanced tests.
I don’t know what the best way to do this would be so I’m asking to see what people have done before or what they can think of/recommend.
The ideal thing would be some form of command line runnable roblox engine that you can add files to and run through code. This could then be deployed on a server or put in a container and be sent stuff to test by my pipeline.
As this deosnt exist (as far as I know) I don’t know what to do.
I could just put a running roblox studio on a server and queue requests for testing. I would then need to make some tool to use the user interface, mainly to press the play button. I could then add code to the game by modifying the xml project files and create various plugins that use http to send data in and out of the studio.
This is ok but it is a lot of work and I have to be signed in at all times or create a way to sign in and would ideally want multiple of these running at the same time. It also seems easy to break and Im also unsure if im able to read the output through plugins.
I have also considered hacking a roblox studio program to make a running environment that can be used and added to with code without me having to log in or be online and without anything i dont need from studio.
Apart from probably breaking countless things on the ToS, which instantly makes this not worth doing, this is also probably outside of my skill set and although I perhaps could achieve this I would have no idea how.
I could also build up a studio bit by bit from these luau interpreters,
Honestly this is almost ideal but it would take so god dam long it is not worth it for something that is supposed to make me quicker at creating roblox games.
Anyway I’m trying to see if anyone smarter than me already has a perfect way to do this or if I should invest more time into one of these ideas.
Or maybe there already exists something that does this perfectly from roblox or someone else.
Any help would be greatly appreciated.