CodeBlocks 中 cppUnit 的初学者步骤是什么?

What are beginners steps for cppUnit in CodeBlocks?

我想在 Code::Blocks 中使用 cppUnit 测试一个项目。我安装了 windows10 中带有 mingw 编译器的 codeblocks-16.01。 有人请告诉我有没有用于代码块的 cppUnit 插件? 如果可用,我如何找到 cppunit 库和安装程序? 我应该先做什么?

无需安装插件。

1.首先使用this link

下载cppunit

2.解压缩文件。

3.打开 MinGW shell.

运行 点击下面的批处理文件即可。

C:\MinGW\msys.0\msys.bat

(假设你已经在c盘安装了mingw)

如果你安装了Code::Blocks使用mingw包,你在Code::Blocks的mingw文件夹中找不到msys文件夹installation.You可以使用this link.Install it. Don't need to remove the installation within Code::Blocks installation folder.Watch this video下载MinGW了解更多信息。

4.使用以下命令编译它。

cd C:\cppunit-1.12.1

./configure

make

make install

使用 this link 获取更多信息(该页面讨论了编译和安装 Cunit。但使用相同的说明。)

5.Open Coad::Blocks IDE 并在

中打开 code::block 项目 (.cbp)

C:\cppunit-1.12.1\src\cppunit\cppunit.cbp

根据需要在发布或调试模式下使用 Coad::Blocks IDE 构建它。 如果您成功完成,您可以在

中找到 libcppunit.a

C:\cppunit-1.12.1\src\cppunit\Release

否则转到项目->属性->构建目标并检查 "Output filename" 的 selected 构建目标(发布或构建)。

6。在Code::Blocks中打开一个新的控制台应用程序。

转到项目->构建选项->搜索目录->编译器

添加C:\cppunit-1.12.1\include

转到项目->构建选项->搜索目录->链接器

添加C:\cppunit-1.12.1\src\cppunit\Release

转到项目->构建选项->链接器设置

添加C:\cppunit-1.12.1\src\cppunit\Release\libcppunit.a

将以下程序复制并粘贴到 main.cpp 文件中,而不是默认的 hello world 程序。

(我从this video复制了这个程序)

#include <iostream>
#include <vector>
#include<cppunit/TestCase.h>
#include<cppunit/TestFixture.h>
#include<cppunit/TestCaller.h>
#include<cppunit/TestResult.h>
#include<cppunit/ui/text/TestRunner.h>

using namespace std;


class Task
{
public:
    unsigned int id;
    string description;

    Task(unsigned int new_id,string new_description)
    {
        id = new_id;
        description= new_description;
    }

};
class ToDoList
{
   public:
        vector<Task> tasks;
       ToDoList(){
            tasks.clear();
            }
       bool add_new_task(string description)
       {
           if (description.empty())return false;
            unsigned int new_id = static_cast<int>(tasks.size())+1;
            Task new_task(new_id,description);
            tasks.push_back(new_task);
            return true;
       };

};
//unit test for to do list
class ToDoListTest : public CppUnit::TestFixture
{
    public:
    ToDoList *my_tasks;
    void setUp()
    {
        my_tasks=new ToDoList();
    }
    void tearDown()
    {
        delete my_tasks;
    }
    void test_add_normal_task()
    {
        bool result = my_tasks->add_new_task("Write 2130");
        CPPUNIT_ASSERT(result=true);

    }
    void test_add_empty_task()
    {
        bool result = my_tasks->add_new_task("");
        CPPUNIT_ASSERT(result=false);

    }
    static CppUnit::Test* suite()
    {
        CppUnit::TestSuite *suite_of_tests = new CppUnit::TestSuite("ToDoList Test");
        suite_of_tests->addTest(new CppUnit::TestCaller<ToDoListTest>("test Add normal task",&ToDoListTest::test_add_normal_task));
        suite_of_tests->addTest(new CppUnit::TestCaller<ToDoListTest>("test Add empty task",&ToDoListTest::test_add_normal_task));
        return suite_of_tests;
    }


};

int main()
{
    CppUnit::TextUi::TestRunner runner;
    runner.addTest(ToDoListTest::suite());
    runner.run();

    return 0;
}

构建一个 运行 it.If 你得到了以下输出,你已经成功了。

..


OK (2 tests)



Process returned 0 (0x0)   execution time : 0.542 s
Press any key to continue.

7。现在的问题是如何停止使用最终产品构建测试代码。

转到项目->属性->构建目标

添加新构建target.ie测试

您可以 select 使用同一 tab.Select 版本或调试 build-targets 中提供的复选框为您的测试环境构建所有需要的文件。现在您可以取消 select 所有仅属于测试环境的文件使用检查 boxes.For 您可以观看的附加信息 this video(不在 English.He 中的视频正在谈论不同的测试框架 work.Not 关于 cppunit.But 您可以了解如何创建从 4.50 到 5.57 的新构建目标)