Top.Mail.Ru
Ответы

Как норм подключить файлы проекта к GTest в Visual Studio 2022

Я создал проект с тестами инструментами вски в том же решении, что основной проект. Делал все по инструкции, при создании выбрал свой проект, чтобы установить зависимость. Но когда я подключаю хедеры к тестам, то у меня при сборке прокается ошибка, мол элемент запрещённый

Как если бы я объявил статик поле, но не инициализировал его (такая ошибка у меня была именно в такие моменты). Если подключаю срр, то всё работает хорошо, но только до тех пор, пока я не подключу что-то, что уже содержит в себе те же инклюды, что я указал в тесте, и тогда тесты просто падают

Это я так понимаю из-за того, что срр не защищены от двойного включения или хз. Может я не установил где-то нужные зависимости? Или что? Или где?

По дате
По рейтингу
Аватар пользователя

Возможно, что проблема заключается в том, что вы не правильно настроили зависимости между вашими проектами и не правильно подключаете заголовочные файлы. Вот несколько шагов, которые можно выполнить для настройки проекта с тестами в Visual Studio 2022:

1. Убедитесь, что в вашем основном проекте все заголовочные файлы находятся в папке "Include", а исходные файлы - в папке "Source".
2. Создайте новый проект с тестами с помощью шаблона "Unit Test Project" в том же решении, что и основной проект.
3. В настройках проекта с тестами добавьте зависимость от основного проекта, чтобы тесты могли использовать его заголовочные файлы и функции.
4. В настройках проекта с тестами укажите путь к папке "Include" основного проекта в разделе "Additional Include Directories".
5. В тестовых файлах используйте директиву `#include` для подключения нужных заголовочных файлов из основного проекта.

Пример использования директивы `#include`:

```c++
#include "MyClass.h" // заголовочный файл из основного проекта

TEST(MyClassTest, Test1)
{
MyClass obj;
// ...
}
```

Если у вас все еще возникают проблемы, попробуйте проверить ваши настройки проекта и убедитесь, что вы правильно подключаете все необходимые заголовочные файлы. Также может быть полезно проверить, что вы используете правильный синтаксис для определения и вызова тестов в GTest.