Support a more programmatic way to produce tests
Currently, all tests and sub-tests need to written explicitly. This always bugs me, as it makes writing test matrices unnecessary burdensome. You either need to move test matrix processing into the test, that means, test units are large and test failures don't communicate which point in the matrix is failing, or you need to move the matrix outside of the tests, resulting in much coding infrastructure involving generic classes/traits and many explicit test objects extends TestSuite for each and any test matrix value.
The naive approache doesn't work:
for {
i <- Seq(1,2,3)
} yield test("testing-${i}") {
assert(...)
}
Maybe, we can invent some API, that allows this kind of generic testing.
This might require using macro or scala-plugin to unroll the for-yield loop, which might be not a simple job?
I mean, it also doesn't work for Seq(1,2,3).map(n => test("testing-${n}") { ... ) or .foreach.