TEST_CASE("Sandwich::AddTopping test", "[AddTopping]") {
// your tests for Sandwich::AddTopping here
Sandwich newsandwich;
SECTION("adding two cheese") {
newsandwich.AddTopping("cheese");
REQUIRE(newsandwich.AddTopping("cheese") == false);
}
SECTION("adding more than 5 toppings") {
newsandwich.AddTopping("cheese");
newsandwich.AddTopping("lettuce");
newsandwich.AddTopping("tomato");
newsandwich.AddTopping("onions");
newsandwich.AddTopping("pickles");
REQUIRE(newsandwich.AddTopping("cheese") == false);
}
SECTION("adding 2 other toppings") {
newsandwich.AddTopping("lettuce");
REQUIRE(newsandwich.AddTopping("lettuce"));
}
SECTION("adding in range") { REQUIRE(newsandwich.AddTopping("lettuce")); }
}
Однако мой код вначале создает только один сэндвич-объект, но результат его такой же, как и при создании объектов отдельно для каждого РАЗДЕЛА. Может кто-нибудь сказать мне, почему? Спасибо~
Я новичок в C++ и изучаю модульное тестирование с использованием catch2. Я пишу такой тестовый пример [code]TEST_CASE("Sandwich::AddTopping test", "[AddTopping]") { // your tests for Sandwich::AddTopping here Sandwich newsandwich;
SECTION("adding two cheese") { newsandwich.AddTopping("cheese"); REQUIRE(newsandwich.AddTopping("cheese") == false); }
SECTION("adding more than 5 toppings") { newsandwich.AddTopping("cheese"); newsandwich.AddTopping("lettuce"); newsandwich.AddTopping("tomato"); newsandwich.AddTopping("onions"); newsandwich.AddTopping("pickles"); REQUIRE(newsandwich.AddTopping("cheese") == false); }
SECTION("adding 2 other toppings") { newsandwich.AddTopping("lettuce"); REQUIRE(newsandwich.AddTopping("lettuce")); }
SECTION("adding in range") { REQUIRE(newsandwich.AddTopping("lettuce")); } } [/code] Однако мой код вначале создает только один сэндвич-объект, но результат его такой же, как и при создании объектов отдельно для каждого РАЗДЕЛА. Может кто-нибудь сказать мне, почему? Спасибо~