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,最终查找失败报错。

相关文章
|
3月前
|
Kubernetes NoSQL 网络协议
VS2017编译TarsCpp测试工程
VS2017编译TarsCpp测试工程
|
4月前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
74 0
|
4月前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
40 0
|
2月前
岩土工程监测振弦采集仪广泛应用于岩土工程中的土体动力特性的测试和分析
岩土工程监测振弦采集仪广泛应用于岩土工程中的土体动力特性的测试和分析。以下是一些岩土工程监测振弦采集仪的应用案例:
|
3月前
|
数据挖掘
工程监测仪器振弦采集仪详细的稳定性测试
工程监测仪器振弦采集仪详细的稳定性测试 振弦采集仪是一种常用于工程监测的仪器,用于测量结构的振动和变形。稳定性测试是评估采集仪的测量稳定性和精度的一种方法,可以确保采集仪在长时间使用中的准确性和可靠性。
工程监测仪器振弦采集仪详细的稳定性测试
|
5月前
|
机器学习/深度学习 算法 测试技术
【网安专题10.25】10 TitanFuzz完全自动化执行基于变异的模糊测试:生成式(如Codex)生成种子程序,逐步提示工程+第一个应用LLM填充模型(如InCoder)+差分测试
【网安专题10.25】10 TitanFuzz完全自动化执行基于变异的模糊测试:生成式(如Codex)生成种子程序,逐步提示工程+第一个应用LLM填充模型(如InCoder)+差分测试
122 0
|
5月前
|
自然语言处理 搜索推荐 Java
【网安AIGC专题10.25】9 LIBRO方法(ICSE2023顶会自动化测试生成):提示工程+查询LLM+选择、排序、后处理(测试用例函数放入对应测试类中,并解决执行该测试用例所需的依赖)
【网安AIGC专题10.25】9 LIBRO方法(ICSE2023顶会自动化测试生成):提示工程+查询LLM+选择、排序、后处理(测试用例函数放入对应测试类中,并解决执行该测试用例所需的依赖)
133 0
|
6月前
|
传感器 数据采集
工程监测仪器无线振弦采集仪高低温试验箱测试原理
无线振弦采集仪和高低温试验箱是两个独立的设备,但是它们可以结合使用来进行振弦测试。高低温试验箱是一种可以控制温度和湿度的设备,用于模拟各种环境下的物体性能变化,包括机械性能、电气性能等。无线振弦采集仪则是一种用于测量物体振动状态的设备,通常包括振动传感器和数据采集模块。
工程监测仪器无线振弦采集仪高低温试验箱测试原理
|
6月前
|
Java 测试技术 Spring
springboot工程测试临时数据修改技巧
springboot工程测试临时数据修改技巧
|
6月前
|
测试技术 开发工具 数据库
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
71 0

热门文章

最新文章