Ответ 1
should
и must
являются одинаковыми семантически. Но это не о лучшей документации, в основном, вплоть до личных стилистических предпочтений (например, я предпочитаю must
).
can
немного отличается. Вы не можете (nomen omen) использовать его непосредственно в качестве помощника, он доступен только в тестовом дескрипторе. Цитата из FlatSpec
:
Примечание: вы можете использовать must или can, а также в FlatSpec. Для Например, вместо этого нужно "поп..., вы могли бы написать" must "pop... или он может" поп...
(то же самое относится к WordSpec
и двум соответствующих классов приборов)
Обратите внимание, что в течение короткого времени (в ScalaTest 2.0.x я думаю) использование must
было устаревшим, однако в 2.1.0 решение было отменено:
Воскрешенные MustMatchers в пакете org.scalatest. Изменено устаревание предупреждение для org.scalatest.matchers.MustMatchers предложить использовать org.scalatest.MustMatchers вместо org.scalatest.Matchers, которые было предложение в 2.0. Извините за то, что пользователи, которые должен быть уже при обновлении до 2.0.