2015-11-10 3 views
0

Я пытаюсь запустить гидролокатор и я взять образец моей коды SampleClass решить проблему покрытия филиала:Крепление Branch Покрытие Sonar вопрос

Вопрос было 117 более ветви должны быть покрыты модульными тестами для достижения минимального порога охвата филиалов в 65,0%.

Я старался, чтобы мои тестовые примеры охватывали много ветвей в классе образцов.

, но число 117 не может быть изменено после многих испытаний. Что мне нужно сделать, чтобы исправить эту проблему?

ответ

0

Вам необходимо добавить еще тесты. Например:

@Test 
public void testThis(){ 
    if (getBooleanA() || getBooleanB()){ 
    assertTrue(getBooleanA() != getBooleanB()); 
    } 
    else{ 
    assertTrue(getBooleanA() == getBooleanB()); 
    } 
} 

здесь, вы должны предоставить тесты для следующих случаев: 1. булевых А и В являются ложными 2. булева А и В обеих истинны 3. булева А истинно, и boolean B false 4. boolean A является ложным, а boolean B является истинным

Если вы пропустите один из этих тестов, есть ветка, которую вы не накрыли.

EDIT: ясно (или должно быть), что утверждение в блоке else бессмысленно, но я просто добавил его, если он не возвратил логическое, а int, чтобы показать, насколько легко он должен иметь новую ветку, которая нуждается в покрытии.

+0

Большое спасибо за ваш ответ, я уже пытаюсь покрыть ветки, но число еще не достигло прогресса. Я не знаю, в чем проблема. –

+0

Проблема не меняется. если вы используете сонар (или что-то подобное), он укажет, где вы не покрываете все ветви. просто выяснить, какие из них вы еще не тестировали – Stultuske

+0

, пишу три теста, которые тестируют то же самое, на самом деле не добавляют покрытие, это просто тестирование того же. убедитесь, что различия во всех необязательных операторах проверены – Stultuske

Смежные вопросы