Реализация xunit на новом языке программирования - PullRequest
0 голосов
/ 22 октября 2008

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

Так что же является хорошей отправной точкой для реализации xUnit на новом языке программирования?

Кстати, поскольку люди спрашивают: моя целевая среда - Visual Dataflex.

Ответы [ 5 ]

2 голосов
/ 22 октября 2008

Для какого это языка - в месте уже немало .

2 голосов
/ 22 октября 2008

Если это мешает вам начать писать модульные тесты, вы можете начать без инфраструктуры тестирования.

Пример на языке C-стиля:

void Main() 
{
  var algorithmToTest = MyUniversalQuestionSolver();
  var question = Answer to { Life, Universe && Everything };

  var actual = algorithmToTest(question);
  var expected = 42;
  if (actual != expected) Error();

  // ... add a bunch of tests
}

Пример на языке Cobol:

MAIN.
  COMPUTE EXPECTED_ANSWER = 42
  SOLVE ANSWER_TO_EVERYTHING GIVING ACTUAL_ANSWER
  SUBTRACT ACTUAL_ANSWER FROM EXPECTED_ANSWER GIVING DIFFERENCE
  IF DIFFERENCE NOT.EQ 0 THEN
    DISPLAY "ERROR!"
  END-IF

  * ... add a bunch of tests
  STOP RUN

Запустите Main после того, как вы закончили с изменением (и, возможно, компиляцией) вашего кода. Запускайте main на сервере всякий раз, когда кто-то отправляет код в ваш репозиторий.

Когда вы попадаете на крючок, ищите больше фреймворка или посмотрите, не могли бы вы выделить некоторые биты из Main в вашу собственную фреймворк.

1 голос
/ 18 сентября 2009
1 голос
/ 22 октября 2008

Я создал приличную инфраструктуру для модульных тестов в VFP, основываясь на коде Разработка через тестирование: практическое руководство , автор David Astels. Вы пройдете долгий путь, читая примеры, разбираясь в методах и переводя код Java на свой язык.

1 голос
/ 22 октября 2008

Я бы предположил, что хорошей отправной точкой было бы использование xunit на нескольких других языках, чтобы понять, как работает этот стиль фреймворка модульных тестов. Затем вам нужно углубиться в это поведение и начать работать над тем, как воссоздать это поведение так, чтобы оно соответствовало вашему новому языку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...