2012-04-19 5 views
0

Что делать, если я хочу показать дополнительную информацию во время теста?NUnit добавляет информацию в тесты

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

Я могу добавить Assert.Inconclusive(_iterations.ToString()) до конца каждого теста, но это не выглядит хорошим/зеленым.

+1

Если у вас есть требование к производительности, почему бы вам просто не утвердить это требование. Если вы этого не сделаете, то почему вы хотите узнать количество итераций? – daryal

+0

, потому что я хочу сравнить их в разных реализациях. – Grozz

ответ

0

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

1

Использование Trace.WriteLine(). Это отображается в журнале сборки.

Однако, вы заявляете «Say я испытываю алгоритм, который пытается найти корень функции на заданном интервале и я хочу тест также показывают число итераций и сделал.»

Это означает, что вы проверяете две вещи. Независимо от того, хотите ли вы этих двух утверждений за один или два теста, вы все равно должны проверить их, если это ваша цель, а не использовать Trace.WriteLine(). (Вы тайно тестируете!)

+0

Я могу их тайно тестировать, но это действительно неясно, потому что у меня нет требования к этому числу, просто переменная, о которой нужно помнить, поскольку это вряд ли даже сопоставимо между реализациями. Спасибо за Trace.WriteLine(). – Grozz

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