小编Ahm*_*sud的帖子

如何在mockmvc中将模拟对象作为JSON发送

我想通过内容类型为JSON的MockMvc在控制器中发送一个模拟对象.但是当我尝试序列化模拟时,错误是:

java.lang.UnsupportedOperationException: Expecting parameterized type, got interface org.mockito.internal.MockitoInvocationHandler.
 Are you missing the use of TypeToken idiom?
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

@Test
public void testSomething(){

    String xyz = "";
    Integer i = 10;
    SomeClass inst = mock(SomeClass.class, withSettings().serializable());
    when(inst.getProperty1()).then(xyz);
    when(inst.getProperty2()).then(i);

    Gson gson = new Gson();
    String json = gson.toJson(inst); // this is creating error

    this.mockmvc.perform(put("/someUrl/").contentType(MediaType.JSON).content(json)).andExpect(status().isOk());
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我我错过了什么吗?

java json unit-testing mockito gson

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

Linux中的I2C驱动程序

我知道I2C在一个非常基本的层面,它依赖于Linux内核,但没有线索来实现一个基本的I2C驱动程序.

尝试在I2C 设备驱动程序中启动.你有没有可以建议任何有源代码映射的初学者教程!

i2c linux-device-driver linux-kernel

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

当setuptools_scm可用时,是否需要bumpversion(或bump2version)?

TLDR;

问题就是标题所说的。

撞还是不撞?

我开始使用bump2version,然后发现setuptools_scm(对于开发成熟的python程序来说是相当新的东西),现在我很困惑。

https://setuptools.readthedocs.io/en/latest/history.html#v20-6-0(我知道是古老的,我使用v40-xx)提到了umpversion的集成,但是从未提及过在随后的变更日志中删除了凹凸转换支持。

同时,setuptools文档的1.4扩展和重用Setuptools部分提到了与git,Hg和svn集成的setuptools_scm(和setuptools_svn)。

BLAB(底部底线)

因此,问题是:bumpversion是否已过时/已过时?


附录

为了进一步澄清,我将尝试进一步解释用例

我有一个具有多个子项目的超级项目。

super
????base/
????core/
????lib/
????version/requirements.txt
????modules/
    ????module-1/
    ????module-2/
    ????module-3/
    ????module-4/
    ????module-5/
Run Code Online (Sandbox Code Playgroud)

super是一个主git,每个子项目都作为一个子模块(具有自己的子模块),当然,每个子项目都维护自己的发行版本(这很容易)。

该项目的一个发行版包括与其他所有模块相互兼容的已签名模块。

我目前的做法

我目前正在使用一个名为version的子模块,该子模块维护requirements.txt+ pyproject.toml并将整个组件拉到一个可分发的包中。遵循https://github.com/pypa/pipfile/issues/27中的准则,并从https://caremad.io/posts/2013/07/setup-vs-requirement/

问题仍然存在:做这样的事情有规范的方法吗?

python versioning setuptools

7
推荐指数
1
解决办法
328
查看次数

C++中的函数名称冲突

B类继承自A类.A类具有名为的虚函数bind.

Class A {
  virtual void bind();
}

class B: public A {
  B();
}
Run Code Online (Sandbox Code Playgroud)

在B的构造函数中,它使用bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len)函数from <sys/socket.h>.

#include <sys/socket.h>

B::B () {
  int sockfd = socket(AF_INET, SOCK_STREAM, 0);
  sockaddr_in server_addr, client_addr;
  if(sockfd < 0)
    perror("ERROR opening socket.\n");
  bzero((char*)&server_addr, sizeof(server_addr));
  server_addr.sin_family = AF_INET;
  server_addr.sin_addr.s_addr = INADDR_ANY;
  server_addr.sin_port = 2333;
  if(bind(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)
    perror("ERROR on binding.\n");
  listen(sockfd, 1);
}
Run Code Online (Sandbox Code Playgroud)

编译器抛出错误,说两个bind函数冲突.我知道我可以为bindin 创建一个包装器sys/socket.h.是否有任何优雅而简单的方法来解决冲突? …

c++ conflict

6
推荐指数
1
解决办法
1667
查看次数

Android:当我在片段附近使用它时,在runOnUiThread附近收到错误

我是Android开发的新手,我想将一个按钮与动画相关联.我收到错误附近runOnUiThread()getApplication().当我把它作为一个活动添加时它很好,但是当MainFragment它在它中声明时会给出错误.但是,当我修复错误时,它会创建一个方法并返回false.

public class MainFragment extends Fragment {


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.activity_main, container, false);
    ImageButton btnFacebook = (ImageButton)rootView.findViewById(R.id.facebook2);
    final Animation alpha = AnimationUtils.loadAnimation(getActivity(), R.anim.anim_alpha);

    btnFacebook.setOnClickListener(new Button.OnClickListener(){

        @Override
        public void onClick(View arg0) {
            arg0.startAnimation(alpha);

            Thread thread = new Thread()
            {
                @Override               
                public void run()
                {
                    try
                    {
                        Thread.sleep(1000);
                    }catch(InterruptedException e){                         
                    }
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                          startActivity(new Intent(getApplication(),FacebookActivity.class)); 
                        }

                    });
                }
            };


            thread.start(); …
Run Code Online (Sandbox Code Playgroud)

java xml android android-fragments

6
推荐指数
1
解决办法
8147
查看次数

确认<UsingTask>声明是否正确

我们从TFS下载了一个项目,在恢复Nuget包后,我们得到以下错误:

Error   5   The "ValidatePackageReferences" task could not be loaded from the assembly projectPath\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.Tasks.dll. Could not load file or assembly 'file:///projectPath\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.Tasks.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.  projectName
Run Code Online (Sandbox Code Playgroud)

我们没有在任何地方使用过Task.它似乎在内部使用.任何指针如何摆脱这个错误?由于NuGet包的版本错误,它看起来很像.但不确定是什么原因.

我们正在使用VS 2013 Update 5版本.

在此输入图像描述

msbuild build msbuild-task nuget-package-restore

6
推荐指数
1
解决办法
6484
查看次数

遍历C字符串:获取字符串的最后一个单词

你怎么会得到一个字符串的最后一个字,从'\ 0'换行符到最右边的空格?例如,我可以在这样的地方为str分配一个字符串:

char str[80];
str = "my cat is yellow";
Run Code Online (Sandbox Code Playgroud)

我怎么会变黄?

c string strncpy

5
推荐指数
1
解决办法
6381
查看次数

编译和分发C程序

我刚刚完成了一个C课程的学期,我正在上课,这给我留下了一些我希望得到回答的问题.

在我上课期间,我们一直在使用GCC来编译C程序.这一切都很好,但我有一个关于编译的问题.

如果我想在Windows上构建C程序怎么办?没有海湾合作委员会.那是Microsoft Visual Studio的用途吗?

另外,如果我想编译程序并分发它怎么办?我将编译以分发给其他Window的用户?

总而言之,我知道如何编写C程序,但我只是不知道如何将程序提供给没有C编译器并且基本上是计算机愚蠢的人.

提前谢谢,瑞恩

c cygwin makefile

2
推荐指数
1
解决办法
1536
查看次数

C功能:返回值不正确?

我编写了一个C库函数,但返回值似乎不正确,即使它在函数中是正确的.

这是相关代码:

(在dcml_private.c中)违规函数:

dcml_status _dcml_get_status(struct dcml_device *dev)
{
    uint64_t data;
    dcml_status ret;
    int len;

    libusb_bulk_transfer(dev->handle,
                     DCML_ENDPOINT | LIBUSB_ENDPOINT_IN,
                     (unsigned char *) &data,
                     DCML_REPORT_SZ, &len, RX_TIMEOUT);

    printf("data = %ld\n", data);

    if (len != DCML_REPORT_SZ)
        printf("DCML: LIBUSB ERROR (%s)\n", libusb_error_name(len));
        return STATUS_UNKNOWN;

    ret = data & ~(1>>17);
    return (ret);
}
Run Code Online (Sandbox Code Playgroud)

调用功能:

void _dcml_cmd(dcml_context *ctx, dcml_cmd cmd,
      dcml_status quit_cond, int dur)
{
    struct timeval start;
    struct timeval cur;
    uint32_t stat;

    (void)gettimeofday(&start, NULL);
    (void)gettimeofday(&cur, NULL);
    _dcml_send_cmd(ctx->active, cmd);

    while(difftimeval(cur, start) < dur) {
            sleep(POLL_PERIOD);
            stat …
Run Code Online (Sandbox Code Playgroud)

c return return-value

2
推荐指数
1
解决办法
1143
查看次数

如何检测Web服务器的OS版本

有没有办法使用其IP地址检测Web服务器的操作系统版本(知道Web服务器正在运行php).

我还没有尝试编码,因为我是初学者.这简单吗?有可能或根本不可能吗?

ip operating-system fingerprint

1
推荐指数
1
解决办法
2万
查看次数

理解C中的简单指针

int main()
{
    int *p1,*p2;
    int a;
    p1=(int *)malloc(sizeof(int));
    p2=(int *)malloc(sizeof(int));
    p1=&a;
    p2=p1;
    a=10;
    printf("\n%d\n",*p1);
    printf("\n%d\n",*p2);
    printf("\n%d\n",a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我删除行p1=(int *)malloc(sizeof(int));p2=(int *)malloc(sizeof(int)); 输出没有改变.你能解释一下原因吗?

c pointers

0
推荐指数
1
解决办法
194
查看次数

c ++中构造函数和析构函数的执行顺序

我有c ++的小代码,有构造函数和析构函数.

#include <iostream> 
using namespace std; 
class K { 
public: 
    K(){cout<< "3 ";} 
    ~K(){cout<< "1 ";} 
}; 
int main() 
{ 
    { 
        K a; 
        { 
            K b; 
        } 
        { 
            K c; 
        } 
    } 
    system("pause"); 
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

问题: 我不明白为什么答案是:331311

而不是:333111.

我知道第一次运行构造函数和最后的析构函数但是反转.

c++ constructor destructor

0
推荐指数
1
解决办法
1286
查看次数

我如何在我的mysql查询中使用函数?

我在php工作.

我想找出与地理纬度和经度相距给定距离的地方.

我在一个名为places的mysql数据库中有一个表,其中有三列placeId,latitudelongitude.

用户提供latitude,longitude一个地方的和distance,然后通过使用下面的公式:

d = 2*asin(sqrt((sin((lat1-lat2)/ 2))^ 2 + cos(lat1)cos(lat2)(sin((lon1-lon2)/ 2))^ 2));

我可以检查这些地方是否与用户给出的距离有关.

我想知道如何编写查询和函数来实现此功能.

php mysql

-1
推荐指数
1
解决办法
4350
查看次数