To your question: “Is anyone currently using one or more of these testing frameworks in authoring, or teaching with them?”
I still do use i7Spec in some of my classes. But …
The challenge I’ve found is that a unit testing tool needs setup and teardown to make sure state doesn’t leak between tests. I was looking for ways to add that in i7Spec but eventually gave up. You could try to hook up an undo-style mechanism but then that depends on how many actions you took in the test.
The challenge is also that unit testing isn’t really what’s needed for interactive fiction. What you need is integration testing that shades into acceptance testing. The latter being that you actually want to test for the behavior the game generates, which is what the player will experience. That makes it an acceptance test. But to do that requires integration: all the parts working together, changing state as needed.
I did a class with testers and developers on testing interactive fiction (which is where the i7Spec you referenced came from). And the challenge was this…
An acceptance test for Trinity might be, say, Solve Umbrella Puzzle.
That then requires the player going to Flower Walk, getting the soccer ball, going to Lancaster Gate, waiting for the umbrella to be blown into the tree and then throwing the soccer ball at the umbrella. Along the way, of course, you want to make sure all the text that should be displayed is displayed, including any variations.
That is the kind of testing you ultimately need. You want a test that runs through that scenario, perhaps performs multiple assertions, and then provides one verification at the end, indicating success or failure. (Note: acceptance tests also require no leakage of state. Good practice is also not to rely so much on teardown but rather have each test provide its context, or setup.)
I was going to work on i7Spec more but I’m now wondering if a form of Zarf’s RegTest might be a better approach, ultimately. I need to look at that.