I think the main thing here is you'll want to instantiate TestClass (or other user-defined classes that use the SDK class system with an init() method) with test = TestClass() rather than TestClass:new(). That makes your example work, but past that since this is defined as a sprite subclass you'll also want to call TestClass.super.init(self) somewhere in the init() method so the sprite class is properly initialized as well.
In general the Object-oriented programming in Lua and Calling functions sections of Inside Playdate are good starting points to keep in mind as you add more methods and classes, if you haven't come across them yet, and in particular the difference between calling a function with . vs. : is crucial to understand.
It can take some time to fully grasp all the ramifications, especially when callbacks and closures come into the mix, but hope this at least helps a bit!