Define a test for each file in the given directory.
Subdirectories are ignored, use scenarioDirRecur to descend into them or scenarioDirOfDirs to treat each of them as a scenario.
If the directory is empty or absent, this defines a single failing test instead, because that usually means the scenario files were omitted by accident.
The scenario is given relative to the directory, so it is the name to say the test is about and joining it to the directory is what reads it. Neither has to be recovered from the other.
Example:
let dir = [reldir|test_resources/even|]
scenarioDir dir $ \rf ->
it "contains an even number" $ do
s <- readFile (fromRelFile (dir </> rf))
n <- readIO s
(n :: Int) `shouldSatisfy` even