C++测试技能

发布时间 2023-10-10 12:13:15作者: timeMachine331

google test ?gtestdoetest?doctest

的引入和编译问题。

编译和引入、api的使用会影响测试开发的体验

功能是否丰富(对模板等测试)影响到测试的结果

 

 

这里的两个subcase的执行是并行的,都是先从头去执行一次vector的构造 然后再挑选一个subcase进入

TEST_CASE("vectors can be sized and resized") {
     std::vector<int> v(5);
     //1
     REQUIRE(v.size() == 5);
     REQUIRE(v.capacity() >= 5);
 ​
     SUBCASE("adding to the vector increases it's size") {
         //2
         v.push_back(1);
 ​
         CHECK(v.size() == 6);
         CHECK(v.capacity() >= 6);
     }
     SUBCASE("reserving increases just the capacity") {
         //3
         v.reserve(6);
 ​
         CHECK(v.size() == 5);
         CHECK(v.capacity() >= 6);
     }
 }

 

测试尽量别在Debug模式下做,要在最高的优化等级下,尽量关键代码被优化的情况下去测,追求最高的效率