2016-11-24 12 views
-1

Я сейчас застрял на попытке создать единичный тест для следующего кода;как протестировать следующий код

using System; 

namespace EuroMonitorTest 
{ 
    class MainClass 
    { 
     public static void Main(string[] args) 
     { 
      int answer = 5; 

      Console.WriteLine("Please enter a number less then 5"); 
      int value = Convert.ToInt32(Console.ReadLine()); 

      if (value <= answer) 
      { 
       Console.WriteLine("The number required to get to 5 is " + (answer - value)); 
      } 
      else if (value > answer) 
      { 
       Console.WriteLine("That number is over 5, Try Again"); 
      } 

      Console.ReadKey(); 
     } 
    } 
} 
+1

Какие тесты вы пытаетесь писать? –

+0

im пытается править и mstest – lpjk

+0

Проверить, какое поведение конкретно? –

ответ

1

Вы можете рассмотреть возможность извлечения логики в отдельный класс. Например, вы можете создать класс, который получает «ввод значений» и «ответ» + метод, возвращающий строку. Это поможет вам отделить репутацию вашей программы.

взгляд на эту ссылку: http://haroldrv.com/2015/02/using-test-driven-development-tdd-to-solve-fizzbuzz/

+0

Будет ли это делать так, чтобы он работал так же? – lpjk

+1

проблема с вашим кодом заключается в том, что вы пытаетесь протестировать сразу две вещи. Во-первых, вы логику знать, что вы собираетесь отображать, а во-вторых, у вас есть «реальный» дисплей в консоли –

+0

, если я избавлюсь от инструкции else, которая решит проблему? – lpjk

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