0

我正在用 C 编写代码。我为交换方法和冒泡排序方法编写了代码,但我不知道如何为它们运行 TDD 测试。你能告诉我如何创建 TDD 测试来验证这些方法中的每一个是否都能正常工作吗?这是我的每个方法的代码:

/**
* swaps the values referenced by p and q
*/
void swap (int *p, int *q)
{
   int tmp; 

   tmp = *p; 
   *p = *q; 
   *q = tmp; 
}

/**
* an implementation of bubble sort
* n is the size of array a
*/
void bubble (int a[], int n)
{
   int i, j; 

   for (i = 0; i < n-1; i++)
   {
     for (j = n-1; i < j; j--)
      {
       if (a[j-1] > a[j])
      {
         swap (&a[j-1], &a[j]); 
      }
      }
  }
}
4

1 回答 1

0

这是围绕单元测试的基本思想。您单独测试一小部分代码。如果此测试通过但排序不起作用,您将知道错误在排序实现中,而不是在交换中。

void testSwap() {
  int a = 0;
  int b = 1;

  swap(&a, &b);
  if (a == 1)
    printf("ok");
  if (b == 0)
    printf("ok");
}

如果您在实现 swap() 函数之前编写 testSwap() 函数,那么您将执行 TDD。

于 2013-03-07T15:16:07.783 回答