testing

Testing tools, testing philosophy & methodology...
NoahTheDuke 2020-05-19T16:05:03.018400Z

@srijayanth i've been thinking about this recently. i develop a game that uses an atom as the "game state", and have a test macro called do-game that takes a state created with a (new-game ...) function, and then binds it in a let block with a consistent name (`state`), binds a bunch of helpful functions so you don't have to type state in everywhere, and then ~@body all of the enclosed test expressions, so the set up is taken care of easily

NoahTheDuke 2020-05-19T16:08:09.020Z

this gets awkward when i have to set up the same "initial state" for multiple tests, so i've been experimenting with another anaphoric macro that lets me do a before binding and insert a single state into each (testing) wrapper in my deftest

NoahTheDuke 2020-05-19T16:09:03.020700Z

i don't think this is very idiomatic, because of the focus on non-mutating functions, but sadly my game engine is full of mutation lol