У меня есть тест org.scalatest.FunSpec with org.scalatest.Matchers
, который выполняет следующие действия, например:Scalatest: должны быть Matchers с дополнительным описанием?
val tol = 1e-10
val res = 1.000000000000001
val ref = 1.000000000000000
res should be (ref +- tol)
но делает это в цикле для нескольких случаев введенного пользователя по имени, конечно, я не могу изменить зернистость протестированного кода, так что я получить коллекцию значений с этими именами, связанных с ними. Поэтому для теста выше мне нужно добавить дополнительный контекст или дополнительное описание name
, чтобы определить, к какому имени оно относится. Мне нужно что-то вроде:
val name : String = ...
res should be (ref +- tol) for name
Я не могу использовать it
и describe
в этот момент, потому что они уже снаружи.
Хорошо, но предположим, что я не могу этого сделать ... у нас есть скалярное расширение, которое отправляет тесты, которые будут вычисляться удаленно в кластере ... эта структура уже занимает верхнюю 'описать' и автоматически обертывает каждый тест в' it', который описывает его так ... Мне нужен способ привязать текст 'name' к' res должно быть (ref +-tol) ' условие ... может быть, единственный способ - поймать и обогатить потенциал 'TestFailedException' ... и, конечно, переходить к' assertResult' - это еще одна возможность просто отказаться от аргумента If –
@GiovanniAzua, который поможет вам пример в обновлении? –
Вот и все, вы пригвоздили его :) Я очень рад, что scalatest спроектирован таким образом, что практически нет сценария реальной жизни: D –