Я пытаюсь запустить набор тестов для нескольких документов XML. Я хочу получить список идентификаторов продуктов из файла конфигурации, а затем запустить один и тот же набор тестов для каждого документа. Однако, когда я делаю это, я не могу получить ни одного окончательного резюме статистики теста.
Пример кода ниже:
import org.scalatest._
import org.scalatest.matchers.ShouldMatchers._
import scala.xml._
import dispatch._
class xyzSpec(webcli: Http, productId: String) extends FeatureSpec with GivenWhenThen with ShouldMatchers {
feature("We get up to date xyz data from xyzsystem with correct blahblah info") {
info("As a programmer")
info("I want to lookup a product in xyzsystem")
info("So that I can check the date updated and blahblah info")
scenario("We have an up to date product with correct blahblah info") {
given("Product " + productId)
// code to get product XML doc
when("when we request the db record")
// code to get crosscheck data from SQL db
then("we can get the product record")
// code to compare date updated
and("date updated in the XML matches the SQL db")
}
}
}
val h = new Http
val TestConfXml = h(qaz <> identity)
ProdIdsXml \\ "product" foreach { (product) =>
val productId = (product \ "@id").text
new xyzSpec(h, productId).execute(stats=true)
}
Третья последняя строка имеет foreach
, который вызывает тестового бегуна несколько раз. Я знаю, что могу вкладывать тестовые объекты (или это тестовые классы), но я не вижу, как это сделать динамически во время выполнения, когда конструктор тестового класса принимает параметры.
Чего мне не хватает?