Как должны потом выполняться остальные тесты?
2. Не делай так никогда - val Some(…)=
3. ты матчишь failedTryNewThread, где покрываешь все варианты, а потом делаешь отдельно .get, который если и дойдет, то свалится на нем. Т.е. тест заведомо не пройдет проверку (он же дойдет только если будет Failure с нужным тебе сообщением - как раз когда ты казалось бы достиг успеха).
4. Допустим мы забудем про все косяки. Вернемся к map. На кой хрен он тебе нужен? Ты ожидаешь, что после какого-то i оно начнет сваливаться в OutOfMemory и затем ты ищешь первое вхождение фейлура. Что за на.? Почему ты сразу вместо map не делаешь find, чтобы твой код и дальше не пытался билдить что-то, что для тебя не имеет значения ? Да еще бы и вместе с (1 to Integer.Max), раз ты не уверен когда именно это должно произойти, но предполагаешь, что должно ?
5. Try(new Thread(makeRunnable(i)).start()) - у тебя снаружи уже есть try который хендлит единственное интересующее тебя исключение, а остальные все равно приводит у тебя к исключениям. Так зачем тебе дополнительно их хендлить? Пускай себе сами валятся. Какая-то семантическая обработка у тебя все равно отсутствует остальных случаев.
Спасибо за ответ. Код взят как приложение к этому видео https://youtu.be/6b24sszy6Js?t=2270 > Тестить аутофмемори вместе с другими тестами - это шедевр) Как должны потом выполняться остальные тесты? Можно ведь выполнить лишь только то,что содержится в it should "blabla"? Это учебный пример. >2. Не делай так никогда - val Some(…)= К чему может привести код из примера? Я еще разбираюсь и в скале и в конкарренси, поэтому по остальным вопросам не могу дать конкретного ответа. В .map, как я понял, он создает и запускает новые треды, затем в последовательности пар ищет свалившиеся треды, или нет?
Обсуждают сегодня