Scala: определяющие тестовые случаи на основе папки
Вопрос
Я должен проверить программу, которая принимает один входной файл. Я поставил все входные файлы внутри папки, и теперь я хочу использовать SBT и STALATEST, чтобы иметь следующие функции:
- Testall: вызвать программу одним входным файлом одновременно для всех файлов
- Тест Один: вызвать программу с одним входным файлом, предоставленным в качестве аргумента
test
Команда от консоли SBT
Пока свертывание файлов - это фиксированный путь, поэтому список всех файлов можно получить по:
val dir = new File("tests\\");
val files = dir.listFiles.filter(
f => """.*\.extension$""".r.findFirstIn(f.getName).isDefined);
Может ли кто-нибудь дать мне краткую идею, что к какому классу STALATEST лучше всего подходит для этой цели?
Решение
Я думаю, что вы должны рассмотреть возможность рефакторинга программы, чтобы у вас есть метод, который принимает InputStream
а не файл. Таким образом, вы можете проверить метод, не беспокоясь о файлах. Конечно, это зависит от структуры и размера файлов.
Если вы не хотите делать, вы можете реализовать свою собственную задачу SBT с параметром (имя файла).
http://code.google.com/p/simple-build-tool/wiki/customacations.
http://code.google.com/p/simple-build-tool/wiki/methodtasks.