单元测试中的 FIRST 原则
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。进行单元测试,可以尽早地发现编写代码中错误,减少后期测试开销和维护成本,提高软件质量。
下文讲解写出好单元测试需要遵守的FIRST原则(AIR原则与FIRST原则中的S、I、R项类似):
FIRST 原则
F——Fast:快速
在调试bug时,需要频繁去运行单元测试验证结果是否正确。如果单元测试足够快速,就可以省去不必要浪费的时间,提高工作效率。
I——Isolated:隔离
好的单元测试是每个测试只关注逻辑的一个方面,这样有利于排错。
// 按照逻辑分离测试
TEST(Func, NullPtr) {
/* 空指针测试内容 */
}
TEST(Func, BadParams) {
/* 错误参数测试内容 */
}
每个测试之间不应该产生依赖,不会因为测试顺序不同而导致运行的结果不同。
//! 错误示范 ❌
TEST(Func, NullPtr) {
char* str = create_str(); /* 创建字符串 */
/* 空指针测试内容 */
}