dde-dock/unittest/test_dockitem.cpp
chenjun 2ef1176873 fix: 添加针对源代码的单元测试,添加触发自动测试代码
因为单元测试需要直接测试源代码,而主程序代码中include的单元使用了相对路径
单元测试的CMakeLists和主程序的CMakeLists路径不同,编译单元测试时会提示找不到文件
因此设置搜索路径,并修改各单元引用头文件的路径。在单元测试的CMakeLists中添加需要依赖

Log: 添加针对源代码的单元测试,添加触发自动测试代码
Change-Id: I0e0bc92c28d6cee42fc52064fc360c58f7c02826
2020-12-22 10:10:20 +08:00

72 lines
1.5 KiB
C++

/*
* Copyright (C) 2018 ~ 2028 Uniontech Technology Co., Ltd.
*
* Author: chenjun <chenjun@uniontech.com>
*
* Maintainer: chenjun <chenjun@uniontech.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QObject>
#include <QThread>
#include <gtest/gtest.h>
#include "dockitem.h"
class Test_DockItem : public ::testing::Test
{
public:
virtual void SetUp() override;
virtual void TearDown() override;
public:
DockItem *dockItem = nullptr;
};
void Test_DockItem::SetUp()
{
dockItem = new DockItem();
}
void Test_DockItem::TearDown()
{
delete dockItem;
dockItem = nullptr;
}
TEST_F(Test_DockItem, dockitem_test)
{
ASSERT_NE(dockItem, nullptr);
}
TEST_F(Test_DockItem, dockitem_show_test)
{
dockItem->show();
QThread::msleep(450);
ASSERT_EQ(dockItem->isVisible(), true);
}
TEST_F(Test_DockItem, dockitem_hide_test)
{
dockItem->hide();
QThread::msleep(450);
ASSERT_EQ(dockItem->isVisible(), false);
}