Я тоже не особо понимаю в чём проблема. Поставьте принудительное throw new RuntimeException();, протестируйте логику обработки, после чего уберите принудительное выбрасывания исключения.
Ну а если хотите совсем уж «офигенно и ынтырпрайзно», то замените «weight = 1.0;» на «weight = _dataProvider.getWeightData()», где в «обычном» режиме _dataProvider является инстансом «правильного» класса (возвращающего нормальные данные), а в тестовом режиме — инстансом специального тестового класса, наследующего тот же интерфейс, но вместо нормальных данных кидающего исключения.
Только осторожнее с этим, не придите в конечном итоге к "
фабрике фабрик фабрик инструментов" :D