我正在尝试为我的大学编写 C++ 教程。我尝试了所有可能的方法,例如在 catch.hpp 文件中导入 Catch 库,但我总是收到 TEST_CASE not found in scope 的错误。有人能帮我一下吗?我真的需要让它工作。
这是我的代码,
#include <iostream>
#include <fstream>
#include <string>
std::string FizzBuzz(int number) {
if (number % 3 == 0 && number % 5 == 0) {
return "FizzBuzz";
} else if (number % 3 == 0) {
return "Fizz";
} else if (number % 5 == 0) {
return "Buzz";
} else {
return std::to_string(number);
}
}
int main() {
TEST_CASE("FIZZ if div by 3", "[Fizz]") {
REQUIRE(FizzBuzz(3) == "Fizz");
REQUIRE(FizzBuzz(9) == "Fizz");
REQUIRE(FizzBuzz(15) == "Fizz");
}
TEST_CASE("BUZZ if div by 7", "[Buzz]") {
REQUIRE(FizzBuzz(7) == "Buzz");
REQUIRE(FizzBuzz(14) == "Buzz");
REQUIRE(FizzBuzz(35) == "Buzz");
}
TEST_CASE("FIZZBUZZ if div by 3,7", "[Buzz]") {
REQUIRE(FizzBuzz(21) == "FizzBuzz");
REQUIRE(FizzBuzz(42) == "FizzBuzz");
REQUIRE(FizzBuzz(63) == "FizzBuzz");
}
TEST_CASE("Return Num if div by 3,7", "[ReturnNum]") {
REQUIRE(FizzBuzz(13) == "13");
REQUIRE(FizzBuzz(17) == "17");
REQUIRE(FizzBuzz(24) == "24");
}
return 0;
}
这是错误的屏幕截图: