Catch.hpp使用

把这个catch.hpp文件,引入到自己的工程即可。catch测试框架,仅仅这一个catch.hpp文件即可。

例子:

https://blog.csdn.net/qq_24889575/article/details/82873379

把catch.hpp文件加到头文件里面
在新建的cpp文件中不用在写main函数头

#define CATCH_CONFIG_MAIN  // This tells Catch to provide a main() - only do this in one cpp file
#include "catch.hpp"

unsigned int Factorial( unsigned int number ) {
    return number <= 1 ? number : Factorial(number-1)*number;
}

TEST_CASE( "Factorials are computed", "[factorial]" ) {
    REQUIRE( Factorial(1) == 1 );
    REQUIRE( Factorial(2) == 2 );
    REQUIRE( Factorial(3) == 6 );
    REQUIRE( Factorial(10) == 3628800 );
}

如果使用自己写main函数时

**//#define CATCH_CONFIG_MAIN //定义后直接使用catch自带的main()函数
#ifdef CATCH_CONFIG_MAIN
#include "catch.hpp"
#else
#define CATCH_CONFIG_RUNNER //使用自己写的mian()函数

https://www.cnblogs.com/sxy-798013203/p/7634728.html
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了更安全地取参数,你可以在使用 nlohmann/json.hpp 库时,使用一些额外的方法来确保你的代码更加健壮和安全。以下是一些建议: 1. 在获取 JSON 对象中某个键的值之前,先判断该键是否存在。可以使用 `count()` 方法来判断是否存在该键,如果返回值大于 0,说明该键存在。例如: ```cpp if (my_json.count("key") > 0) { // 该键存在 auto value = my_json["key"].get<std::string>(); } else { // 该键不存在 } ``` 2. 在获取 JSON 对象中某个键的值之前,先检查该值的类型是否符合预期。可以使用 `type()` 方法来获取该值的类型,并与预期类型进行比较。例如: ```cpp if (my_json["key"].type() == nlohmann::json::value_t::string) { // 该值是字符串类型 auto value = my_json["key"].get<std::string>(); } else { // 该值不是字符串类型 } ``` 3. 在获取 JSON 对象中某个键的值时,可以使用 `value()` 方法来指定默认值。如果该键不存在或者类型不符合预期,将返回默认值。例如: ```cpp auto value = my_json.value("key", "default_value"); ``` 4. 在获取 JSON 对象中某个嵌套的键的值时,可以使用 `at()` 方法来获取。如果该键不存在,将抛出 `std::out_of_range` 异常,可以使用 `try-catch` 块来捕获异常。例如: ```cpp try { auto value = my_json.at("key1").at("key2").get<std::string>(); } catch (const std::out_of_range& e) { // 键不存在或者类型不符合预期 } ``` 通过以上方法,可以更安全地获取 JSON 对象中的值,提高代码的健壮性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值