Size: a a a

2020 June 03

МВ

Макс Воробьев... in Qt
вот кста да. в qmake + qtest меня смущало, что на каждый тест нужен свой проект. есть способ это обойти?
источник

AS

Anatoly Shirokov in Qt
jon pedro
Мок файл и макрос должны быть в main файле же?
// mytest.cpp
#include <QtTest/QtTest>

class TestQString: public QObject
{
   Q_OBJECT
private slots:
   void toUpper() {
   }
};
QTEST_MAIN(TestQString)
#include "mytest.moc"
источник

AS

Anatoly Shirokov in Qt
Макс Воробьев
вот кста да. в qmake + qtest меня смущало, что на каждый тест нужен свой проект. есть способ это обойти?
у меня один тест на одну библиотеку, ну а внутри самого класса сколько угодно тестов
источник

МВ

Макс Воробьев... in Qt
я пытался делать 1 тестфайл на 1 класс. и если в CMake/meson можно через foreach пробежать по списку тестов и наплодить тест-приложений, то с qmake какая-то беда выходила
источник

AS

Anatoly Shirokov in Qt
Макс Воробьев
я пытался делать 1 тестфайл на 1 класс. и если в CMake/meson можно через foreach пробежать по списку тестов и наплодить тест-приложений, то с qmake какая-то беда выходила
если уйти от QTEST_MAIN, то можно самому для каждого теста вызывать
MyTestObject test1;
QTest::qExec(&test1);

в итоге получишь желаемое
источник

jp

jon pedro in Qt
Anatoly Shirokov
у меня один тест на одну библиотеку, ну а внутри самого класса сколько угодно тестов
не совсем получается

mytest.cpp
#include <QtTest/QtTest>

class TestQString: public QObject
{
   Q_OBJECT
private slots:
   void toUpper() {
   }
};
QTEST_MAIN(TestQString)
#include "mytest.moc"

main.cpp
#include <QCoreApplication>

int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);

   return a.exec();
}

в .pro файле добавил
QT += testlib
в  результате вылезает ошибка
источник

jp

jon pedro in Qt
источник

AS

Anatoly Shirokov in Qt
jon pedro
не совсем получается

mytest.cpp
#include <QtTest/QtTest>

class TestQString: public QObject
{
   Q_OBJECT
private slots:
   void toUpper() {
   }
};
QTEST_MAIN(TestQString)
#include "mytest.moc"

main.cpp
#include <QCoreApplication>

int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);

   return a.exec();
}

в .pro файле добавил
QT += testlib
в  результате вылезает ошибка
либо ты используешь QTEST_MAIN без своего main(), либо используешь свой main, но без QTEST_MAIN и запускаешь руками

MyTestObject test1;
QTest::qExec(&test1);
источник

jp

jon pedro in Qt
Anatoly Shirokov
либо ты используешь QTEST_MAIN без своего main(), либо используешь свой main, но без QTEST_MAIN и запускаешь руками

MyTestObject test1;
QTest::qExec(&test1);
ооооо, вы правы. Не думал, что будет быть проект без main файла
источник

jp

jon pedro in Qt
спасибо большое
источник

jp

jon pedro in Qt
Anatoly Shirokov
либо ты используешь QTEST_MAIN без своего main(), либо используешь свой main, но без QTEST_MAIN и запускаешь руками

MyTestObject test1;
QTest::qExec(&test1);
В случае с main, инклудить moc по прежнему надо?
источник

SK

Stas Koynov in Qt
jon pedro
В случае с main, инклудить moc по прежнему надо?
да. прочитай уже доку, либо посмотри тесты в примерах
источник

D

Dmitriy in Qt
Как установить подписи осей QCustomPlot?
Раньше был setTickVector(), сейчас говорит, что такого метода нет
источник

jp

jon pedro in Qt
Dmitriy
Как установить подписи осей QCustomPlot?
Раньше был setTickVector(), сейчас говорит, что такого метода нет
Setlabel
источник

jp

jon pedro in Qt
xAxis->setLabel("название оси x")
источник

D

Dmitriy in Qt
jon pedro
Setlabel
Я про координаты на осях
источник

jp

jon pedro in Qt
Dmitriy
Я про координаты на осях
Не совсем понял о чем речь тогда
источник

D

Dmitriy in Qt
jon pedro
Не совсем понял о чем речь тогда
Мне нужно, например, чтобы на Oy отображались не "1 1.5 2 2.5 3", а строго требуемые 1 и 3.
источник

D

Dmitriy in Qt
Иначе в прямом смысле слова получится полтора человека :)
источник

jp

jon pedro in Qt
Dmitriy
Мне нужно, например, чтобы на Oy отображались не "1 1.5 2 2.5 3", а строго требуемые 1 и 3.
Тогда не знаю, даже не было необходимости такое делать (
источник