2010-11-02 6 views
0

Можно ли тестировать метод следующим образом?Как измерить метод без побочных эффектов?

void AddNumbers() { 
int i = 2+2; 
} 

Другими словами, метод без побочных эффектов действительно. Или такие методы, как эти, пропущены и обычно не тестируются? Я бы предположил, что «i» обычно будет иметь переменную уровня класса, но тогда у этого есть свои недостатки (ничего очень большого).

Благодаря

+4

Ваша функция выбора не имеет никакого эффекта, поэтому единственное, что вам нужно проверить, - это то, вызывает ли это исключение. Если функция не имеет возвращаемого значения и не имеет побочного эффекта, то она не имеет никакого эффекта (кроме потребления ресурсов) –

ответ

4

Там нет значения для метода с ни побочными эффектами, ни первичными эффектами, такими, как вы представлены. Вызов его - из тестового кода или производственного кода - не имел бы никакого эффекта. Поэтому нет ничего, чтобы проверить, и никаких оснований для метода.

1

Mmm ... этот метод не имеет побочного эффекта, но он фактически ничего не делает. Метод без побочных эффектов, IMO, будет тем, который возвращает значение без изменения какого-либо состояния (класса или приложения), и именно так оно может быть снова проверено ожидаемыми результатами. Для любой реализации метод, который вы написали, невидим.

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