Когда я пытаюсь ссылаться на enum class
из тестового прибора, он не компилируется с ошибкой ./gtest_mcp23s17.cpp:25:52: error: no type named 'HW_ADDR_6' in 'mcp23s17::HardwareAddress' TC_mcp23s17 _gpio_x(mcp23s17::HardwareAddress::HW_ADDR_6); ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
GoogleTest 1.7.0 `перечисление class` ошибка компиляции
Однако, если я оставлю ссылку на самом тесте (выезда ВСЕ другой код нетронутый), он компилируется без ошибок и запускает тест, как и следовало ожидать. Является ли это ошибкой в GoogleTest или что отличает этот сценарий от теста?
Тест(родовое) : [компилирует]
TEST(Construction, WHENObjectIsConstructedTHENAddressParameterIsStored) {
TC_mcp23s17 gpio_x(mcp23s17::HardwareAddress::HW_ADDR_6);
EXPECT_EQ(0x4C, gpio_x.getSpiBusAddress());
}
Тест Крепеж: [компилирует]
TEST_F(SPITransfer, WHENPinModeHasNotBeenCalledTHENTheCallersChipSelectPinIsHigh) {
TC_mcp23s17 gpio_x(mcp23s17::HardwareAddress::HW_ADDR_6);
EXPECT_EQ(HIGH, getPinLatchValue(SS));
}
испытательной арматуре(с gpio_x объявлен в класс приспособления) : [FAILS]
class SPITransfer : public ::testing::Test {
protected:
TC_mcp23s17 gpio_x(mcp23s17::HardwareAddress::HW_ADDR_6);
...
}
TEST_F(SPITransfer, WHENPinModeHasNotBeenCalledTHENTheCallersChipSelectPinIsHigh) {
EXPECT_EQ(HIGH, getPinLatchValue(SS));
}
Ничего себе, я чувствую себя супер немым. Однако теперь, когда я исправил это, он не отображает мои тесты. Я все еще получаю правильный код успеха/ошибки после вызова набора тестов. Есть идеи об этом? – Zak
@ Zak: Я не знаю, как работает Google Test. Если у вас есть другой вопрос, задайте другой вопрос. –