Używam specyfikacji Specs2 i ScalaTest dla BDD w Scali. Napisałem oczekiwania w specyfikacji 2, gdy twierdzę, że dany wyjątek nie powinien być rzucany.Używanie składni "should not produce [exception]" w ScalaTest
"do something" in {
{
....
} must not(throwA[MyException])
}
Miałem nadzieję, aby móc napisać równowartość w ScalaTest jak:
"do something" in {
evaluating {
....
} should not produce[MyException]
}
Ale to nie kompiluje i nie mogłem znaleźć sposób to zrobić. Czy to w ogóle jest możliwe?
Wielkie dzięki z góry.
Interesujące. Czy możesz wyjaśnić, co to jest przypadek użycia? Sądzę, że chcesz czegoś bardziej konkretnego. Powinien albo rzucić określony wyjątek, albo nie powinien zgłaszać żadnego wyjątku. Mówisz, że chcesz potwierdzić, że wyrażenie może powrócić normalnie lub rzucić wyjątek, z wyjątkiem tego, którego nie chcesz widzieć. Jeśli twój przypadek użycia ma sens, mogę dodać składnię "nie produkować". Dzięki. –
@Bill, myśląc nieco dłużej o moim aktualnym przypadku użycia, myślę, że domyślne zachowanie ScalaTest (niepowodzenie testu, jeśli występuje jakikolwiek wyjątek), jeśli wystarczające. Dzięki. –