Tars测试工程创建

简介: Tars测试工程创建

1、使用cmake_tars_serve.sh生成模板

/usr/local/tars/cpp/script/cmake_tars_server.sh TestApp StructServer Struct

生成结构如下

2、进入src目录,修改Struct.tars文件,增加testStruct(…)函数

3、删除Struct.h,执行指令:

/usr/local/tars/cpp/tools/tars2cpp Struct.tars

重新生成Struct.h

4、打开Struct.h,查找Tars转化后testStruct(…)的定义:

将函数的定义复制粘贴到StructImpl.h中:

在StructImp.cpp中实现testStruct函数:

5、再次进入build目录下,执行如下

cmake ..
make -j4
make tar

build目录下会生成打包文件

6、编写客户端代码

将服务端的Struct.tars、Struct.h文件拷贝到客户端,新建main.cpp

#include <iostream>
#include "servant/Communicator.h"
#include "Calc.h"
using namespace std;
using namespace TestApp;
using namespace tars;
int main(int argc,char ** argv)
{
    Communicator comm;
    try
    {
        CalcPrx prx;
        comm.stringToProxy("TestApp.CalcServer.CalcObj@tcp -h 192.168.28.129 -p 27222" , prx);  // -h xxx 填对应的地址
        try
        {
      float ret = 0.f;
            int iRet = prx->testCalc(5.1, 6.3, ret);  // 同步调用
            cout<<"ret:"<< ret <<endl;
        }
        catch(exception &ex)
        {
            cerr << "ex:" << ex.what() << endl;
        }
        catch(...)
        {
            cerr << "unknown exception." << endl;
        }
    }
    catch(exception& e)
    {
        cerr << "exception:" << e.what() << endl;
    }
    catch (...)
    {
        cerr << "unknown exception." << endl;
    }
    return 0;
}

新建Makefile文件

#-----------------------------------------------------------------------
APP         :=TestApp
TARGET      :=TestStruct
CONFIG      :=
STRIP_FLAG  := N
LIB         +=
#-----------------------------------------------------------------------
include /usr/local/tars/cpp/makefile/makefile.tars
#-----------------------------------------------------------------------

执行make,然后执行./TestStruct。

常见报错分析:

可能原因:

1、服务端代码写法有问题:

注意:要写Tars框架的数据类型,转换关系如下:

2、客户端代码的proxy写法有问题:

到不到对应的proxy,最终查找失败报错。

相关文章
|
6月前
|
Kubernetes NoSQL 网络协议
VS2017编译TarsCpp测试工程
VS2017编译TarsCpp测试工程
|
6月前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
141 0
|
3月前
|
数据可视化 API 开发工具
影创SDK☀️三、工程默认配置,及基础测试建议
影创SDK☀️三、工程默认配置,及基础测试建议
|
3月前
|
Java 测试技术 数据库
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
|
4月前
|
测试技术 Shell Go
Golang质量生态建设问题之单元测试在卓越工程中的问题如何解决
Golang质量生态建设问题之单元测试在卓越工程中的问题如何解决
|
6月前
|
IDE 测试技术 Go
【字节跳动青训营】后端笔记整理-3 | Go语言工程实践之测试
用于验证已经修改或新增功能后,软件的既有功能是否受到影响。
120 2
|
6月前
|
Java 测试技术 开发者
卓越工程之单元测试在行权鉴权中的实践
这篇文章着重在“实践”上,是对Java编程技巧之单元测试用例编写流程这篇文章的实际应用,并没有高深的理论和技术。
|
6月前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
75 0
|
6月前
|
数据挖掘
工程监测仪器振弦采集仪详细的稳定性测试
工程监测仪器振弦采集仪详细的稳定性测试 振弦采集仪是一种常用于工程监测的仪器,用于测量结构的振动和变形。稳定性测试是评估采集仪的测量稳定性和精度的一种方法,可以确保采集仪在长时间使用中的准确性和可靠性。
工程监测仪器振弦采集仪详细的稳定性测试
|
6月前
岩土工程监测振弦采集仪广泛应用于岩土工程中的土体动力特性的测试和分析
岩土工程监测振弦采集仪广泛应用于岩土工程中的土体动力特性的测试和分析。以下是一些岩土工程监测振弦采集仪的应用案例: