测试驱动开发中的各类测试实践与模式
1. 第三方代码的学习测试
在使用第三方代码时,测试驱动开发的开发者通常不需要为其编写测试,因为我们期望第三方代码已经经过了测试。然而,编写一些学习测试对我们是有帮助的。
不建议直接将第三方代码集成到应用中,因为这会将学习代码和应用学习混为一谈。更好的方法是通过编写测试来学习代码,以我们计划使用的方式来测试它。测试就像是可控实验,能让我们确切了解代码的行为。学会代码后,再将所学应用到产品中。
这种方法还有一个好处,即这些测试在接受供应商代码的新版本时能发挥重要作用。如果测试覆盖了我们使用该包的方式,那么接口或行为的变化就会显现出来,从而聚焦于不兼容性问题。
下面是一个学习 strtok 函数的例子:
// 测试解析单个元素
TEST(Parser, ParseOneElement)
{
char * input = "abc";
char * token = strtok(input, "., ");
STRCMP_EQUAL(input, token);
}
// 最初测试解析两个元素,会崩溃
TEST(Parser, ParseTwoElement)
{
char * input = "abc,def";
char * token1 = strtok(input, "., ");
char * token2 = strtok(0, "., ");
STRCMP_EQUAL("abc", token1);
STRCMP_EQUAL("def", token2
超级会员免费看
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



