小编use*_*651的帖子

Ruby rspec 模拟一个类

我有一个包含两个类的文件。

class LogStash::Filters::MyFilter< LogStash::Filters::Base
Run Code Online (Sandbox Code Playgroud)

class LogStash::JavaMysqlConnection
Run Code Online (Sandbox Code Playgroud)

JavaMysqlConnection有方法initializeselect。它由MyFilter类使用,用于查询数据库,您可能已经猜到了。

我如何模拟initializeselect方法分别返回 nil 和一个数组?

我尝试使用:

before(:each) do
  dbl = double("LogStash::JavaMysqlConnection", :initialize => nil)
end
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为我仍然看到通信链接失败。

我有 rspec 版本 2.14.8

提前致谢。附注。我是 Ruby 新手

ruby rspec mocking rspec2

5
推荐指数
2
解决办法
8743
查看次数

将16位整数复制到两个字节的数组

我想知道为什么当我将16位数字复制到一个双字节数组时,它只会复制到数组的第一个索引.我的代码如下:

#include <iostream>
#include <stdint.h>
#include <stdio.h>
#include <cstring>



using namespace std;


int main(){
    uint16_t my_num = 1; // This should be 0000 0000 0000 0001, right?
    unsigned char my_arr[2]; // This should hold 16 bits, right?

    memcpy(my_arr, &my_num, sizeof(my_num)); // This should make my_arr = {00000000, 00000001}, right?

        printf("%x ", my_arr[0]);
        printf("%x ", my_arr[1]);
        cout << endl;
        // "1 0" is printed out


        return 0;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++ memory arrays endianness

4
推荐指数
1
解决办法
472
查看次数

标签 统计

arrays ×1

c++ ×1

endianness ×1

memory ×1

mocking ×1

rspec ×1

rspec2 ×1

ruby ×1