Модульное тестирование, статика и фабрики

Я реализую модель на Java, которая требует перебора коллекции и прохождения ряда этапов идентификации, включая циклы for, циклы while и т. Д. Это то, что я хочу протестировать на детальном уровне. так что я уверен, что он реализован должным образом.

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

В основном мой вопрос сводится к двум противоречивым советам, которые я получил:

1) Статика - это зло. Не трогайте статику. Не проверяйте и рядовых, вы, вероятно, захотите там класс.
Это то, что я хочу протестировать на детальном уровне, чтобы быть уверенным, что оно было реализовано должным образом.

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

В основном мой вопрос сводится к двум противоречивым советам, которые я получил:

1) Статика - это зло. Не трогайте статику. Не проверяйте и рядовых, вы, вероятно, захотите там класс.
Это то, что я хочу протестировать на детальном уровне, чтобы быть уверенным, что оно было реализовано должным образом.

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

В основном мой вопрос сводится к двум противоречивым советам, которые я получил:

1) Статика - это зло. Не трогайте статику. Не тестируйте и рядовых, вы, вероятно, захотите там класс.

В основном мой вопрос сводится к двум противоречивым советам, которые я получил:

1) Статика - зло. Не трогайте статику. Не проверяйте и рядовых, вы, вероятно, захотите там класс.

В основном мой вопрос сводится к двум противоречивым советам, которые я получил:

1) Статика - зло. Не трогайте статику. Не проверяйте и рядовых, вы, вероятно, захотите там класс.
2) Используйте фабрики для создания, чтобы разрешить внедрение зависимостей с использованием параметров - потенциально позволяя использовать имитаторы и заглушки для изоляции.

В моем примере я хочу выполнить операцию в соответствии со строками:

double height = 223.42; // this was set iterating over a collection of doubles
//blah
HeightBounds b = HeightBounds.getHeightBounds(height);
//more blah

Я сделал это, чтобы чтобы избежать создания очень длинного и сложного блока кода, который я могу тестировать только целиком. Таким образом, у меня есть общедоступные объекты, которые я могу протестировать, чтобы убедиться, что все компоненты системы работают правильно.

Здравый смысл говорит мне, что нет ничего плохого в статических фабриках, и что они легко тестируются, но я упускаю что-то ослепляюще очевидное учитывая, что я изучаю дизайн, управляемый тестами?

Спасибо

6
задан Sam Holder 12 April 2011 в 17:31
поделиться