(are they even named special modules, if not then i mean the modules with .spec on the name)
Ive been wondering what are special modules since alot of modules use them and the api reference doesnt seem to have anything about special modules. So what are special modules and how to I use them?
.spec (specification) files are primarily used for outlining test instructions for code. If you see a spec file for Roblox project files, chances are that they’re working with TestEZ.
No, spec files are handled by external programs, mainly CLI tools or any other program that can parse them. On Roblox they’re just regular modules that keep the file extension on and are handled by whatever module is reading them, like TestEZ’s Studio testing module.
The only “files” you can use on Roblox are Luau and that’s within LuaSourceContainers (Script, LocalScript, ModuleScript or CoreScript). If you want to use spec files for their intended capacity, you should gain some familiarity with development ecosystems outside Roblox.
TestEZ is just one way of using spec files. spec files have a larger scope in development ecosystems off Roblox. TestEZ is basically just writing Lua code but you use the spec extension to imply that you want the file to be used for test instructions - it doesn’t teach you anything about them beyond that.
Generally, in the majority of cases, you don’t need to learn about specific file extensions. File extensions help programs identify what you’re trying to open and those programs may be able to read or write the binaries for that file (e.g. the Roblox Studio program can parse .rbxl binaries). What you mainly need to know is the tool in question that you want to use. So for TestEZ, it’s not .spec files you want to learn about, it’s how to use TestEZ.
(Also, in the end, TestEZ’s spec files still end with a Lua extension… so not exactly a spec file itself.)