mockcpp-testngpp单元测试使用mock打桩函数导致用例crash

问题描述

testngpp单元测试使用mock打桩函数导致用例crash

测试用例的实现:

    TEST(test mocker)
    {
    int ret;
    MOCKER(notexist1).expects(once()).with(spy(ret));
    plat_test1(2,4);
    ASSERT_EQ(4,ret);
}

    被调用函数实现:
    int notexist1(int num){

}

int plat_test1(int num1, int num2){
    int ret2;
    ret2 = notexist1(num2);
    if ( ret2 == num2 ){
        return 0;
    }else{
        return 1;
    }
}

运行测试用例就提示:
[ CRASHED ] TestU.h:96: test crashed unexpectedly.

搞了很多次都这样,实在不知道要怎么办了,求大神指点

解决方案

notexist1有没有丢出异常?

时间: 2024-09-30 10:00:47

mockcpp-testngpp单元测试使用mock打桩函数导致用例crash的相关文章

gmock怎样mock重载函数

问题描述 gmock怎样mock重载函数 Gmock不会用,不知道怎样给重载函数写mock,方法声明可以过,调用写expect call总不是期望的值

c语言-求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行

问题描述 求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行 写说明一下代码,代码主要是要在控制台模拟浏览器对tab和网页前进后退的一些操作 再说明一下问题,问题在于brwosertab类和webinformation类的西沟函数,一旦在这两个类的西沟函数里面写上delete 指针名字:整个程序就不能运行了,最关键的是我不太明白为什么程序要调用这两个函数,因为我感觉我都是动态对象啊.最后说明一下,我很菜,只有一点java编程的经验,所以第一次应对c++我真的需要一些帮助.谢谢你们了! 解决方

FlexMock v0.9.0.beta.0发布 针对Rails单元测试的Mock工具

FlexMock是一个比较流行的针对http://www.aliyun.com/zixun/aggregation/13726.html">Rails单元测试的Mock工具, 安装方法:$ gem install flexmock 代码示例: require 'test/unit'require 'flexmock/test_unit' class TemperatureSampler  def initialize(sensor)    @sensor = sensor  end def

浅析javascript异步执行函数导致的变量变化问题解决思路_javascript技巧

浅析javascript异步执行函数导致的变量变化问题解决思路 for(var i=0;i<3;i++) { setTimeout(function(){ console.log(i) },0); } 控制台输出: 3 3 3 这是因为执行方法的时候for循环已经执行完成每次执行的时候取得都是3 而不是1-2-3这时我们可以使用立即执行函数为每一次循环创建一个变量副本来供定时器调用解决这个问题 for (var i = 0; i < 3; i++) { setTimeout( (functio

flexmock 0.8.0发布 针对Rails单元测试的Mock工具

FlexMock是一个比较流行的针对http://www.aliyun.com/zixun/aggregation/13726.html">Rails单元测试的Mock工具.一个Python的mock/stub/spy库.它的API的17885.html">灵感来自同一个名字的Ruby库.但是,它不是一个Python Flexmock,目标不是克隆Ruby版本.相反,重点是提供用于测试的Python程序,并尽可能对不显眼的创建假冒对象进行全力支持. Flexmock的设计着

ASP中Split 函数的一例

函数 本例是一个数据库查询的例子,通过Split函数对查询字段进行了切割.用于想灵活控制查询或开发更深层应用的一个例子. <%     Dim Conn     Dim Rs     Dim j     Dim i     Set Conn = Server.CreateObject("adodb.connection")     Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & S

如果主程序中有单例(Singleton)实现,那在不同的AppDomain里访问时,会导致单例失效

问题描述 如果主程序中有单例(Singleton)实现,那在不同的AppDomain里访问时,会导致单例失效为什么会失效? 解决方案 解决方案二:什么叫在不同的AppDomain里访问解决方案三:所谓单例,是指类啊如果你的主程序本身被打开了2个,这跟里面的类有什么关系你需要保证主程序只能有一个实例,而不是里面的类是否是单例模式解决方案四:不是,我的主程序要求是一个单例,但是有两个domain,可以直接调用吗?解决方案五:系统是多用户的?如果你做的"主程序"并不是一个跟用户交互的程序,你

Java单元测试(Junit+Mock+代码覆盖率)

单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复.改进或重构之后的正确性. 一般来说,单元测试任务包括 接口功能测试:用来保证接口功能的正确性. 局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 比如变量有无初始值 变量是否溢出 边界条件测试 变量没有赋值(即为NULL) 变量是数值(或字符) 主要边界:最小值,最大值,无穷大(对于DOUB

Spark Streaming 误用.transform(func)函数导致的问题解析

问题描述 今天有朋友贴了一段 gist,大家可以先看看这段代码有什么问题. 特定情况你会发现UI 的Storage标签上有很多新的Cache RDD,然后你以为是Cache RDD 不被释放,但是通过Spark Streaming 数据清理机制分析我们可以排除这个问题. 接着通过给RDD的设置名字,名字带上时间,发现是延时的Batch 也会产生cache RDD.那这是怎么回事呢? 另外还有一个问题,也是相同的原因造成的:我通过KafkaInputStream.transform 方法获取Kaf