小编Bus*_*sch的帖子

是否创建用于测试不良做法的私有构造函数?

我遇到了一些Java代码,其中公共构造函数使用一堆new运算符调用一个包私有的构造函数来创建新对象。

public class Thing {

    //public
    public Thing(String param1, int paramm2) {
        this(param1, param2, new Dependency1(), new Dependency2());
    }

    //package-private for the sake of testing
    Thing(String param1, int param2, Dependency1 param3, Dependency2 param4) {
        this.memberVar1 = param1;
        this.memberVar2 = param2;
        this.memberVar3 = param3;
        this.memberVar4 = param4;
    }


    //...rest of class...
}
Run Code Online (Sandbox Code Playgroud)

我认为这是错误的,因为您正在编写代码对其进行测试,而不是编写正确的代码。我想(我能想到的)另外两个选择是创建工厂或PowerMockito在适用时用于注入新对象。就我个人而言,我会写成如下图所示。

public class Thing {

    //public
    public Thing(String param1, int paramm2) {
        this.memberVar1 = param1;
        this.memberVar2 = param2;
        this.memberVar3 = new Dependency1();
        this.memberVar4 = new …
Run Code Online (Sandbox Code Playgroud)

java constructor unit-testing

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

如何抛出通过反射创建的Exception类的实例?

我试图创建一个函数,根据您传入的类型抛出异常.

private void myFunc(Class<?> exceptionType) {
   ...do some work...
   throw new exceptionOfTypeExceptionTypePassedIn(newMessage);
}
Run Code Online (Sandbox Code Playgroud)

你能做这个吗?

java reflection exception

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

如何在 Go 中实现 CLI 命令的单元测试

我正在启动一个使用 spf13/cobra 的新 OSS CLI 工具。作为 golang 的新手,我很难找出孤立测试命令的最佳方法。谁能给我一个如何测试命令的例子?几个警告:

  1. 你不能从你的 init 函数返回一个 cobra.Command
  2. 你不能get_test.go在 cmd 目录中......我的印象是 golang 最佳实践。
  3. 我是 golang 的新手,请放轻松 :sweat_smile:

如果我错了,请纠正我。

这是我要测试的 cmd:https : //github.com/sahellebusch/raider/blob/3-add-get-alerts/cmd/get.go

对想法、建议、批评持开放态度,无论什么。

unit-testing go go-cobra

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

如何在C中实现插入排序算法的结构交换

我有一个工作插入排序算法,可以对存储在数组中的整数进行排序.在另一个程序中,我创建了一个包含单词和计数的结构.我需要使用相同的插入排序按字母顺序对存储在数组中的结构进行排序.我理解如何比较它们,但是我找不到交换它们的方法.想法?

typedef struct { char * word; int count; } wordType;
Run Code Online (Sandbox Code Playgroud)

c struct insertion-sort

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

lsp 模式,用于因“会话中没有视图”而出错

我正在努力实现的目标

我想一起使用 go-mode/lsp-mode 。我一开始就很难让 lsp-mode 执行,最后通过附加路径 :facepalm: 让它工作。

问题 现在的问题是,当 lsp-mode 为工作 golang 目录启动时,我收到此错误:

LSP :: Error from the Language Server: no views in the session (Unknown error) [3 times]
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索答案,但尚未找到与我的问题相关的任何内容。我正在向社区寻求一些指导。

go-mode.el

LSP :: Error from the Language Server: no views in the session (Unknown error) [3 times]
Run Code Online (Sandbox Code Playgroud)

lsp模式.el

(defun custom-go-mode ()
  (display-line-numbers-mode 1))

(use-package go-mode
:defer t
:ensure t
:mode ("\\.go\\'" . go-mode)
:init
  (setq compile-command "echo Building... && go build -v && echo Testing... && go test -v …
Run Code Online (Sandbox Code Playgroud)

emacs go language-server-protocol

3
推荐指数
1
解决办法
2750
查看次数

如何使用 URL 在 Ruby 中克隆 git

有没有办法从 Ruby 中的 URL 克隆 git 存储库?我一直在寻找,似乎找不到答案。任何事情都会受到赞赏。

ruby git git-clone

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

这个成员函数声明中的const是什么意思?

我们得到了一个语义和语法上正确的方法,如下所示:

const Foo & bar( const Bim & bam ) const;
Run Code Online (Sandbox Code Playgroud)

我们应该解释这三个 const 调用的含义。我是 C++ 新手,不知道它们的意思。我(粗略地)理解最后的 const 意味着该方法只能在 const 变量上调用,并且承诺不会传播更改。不过,我不明白另外两个。如果我最后一篇有错,请纠正我。

c++ constants

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

如何使用Github API与企业进行搜索

我正在尝试搜索存储库,但我似乎无法用github企业版来解决它.我试过以下没有结果.有什么建议?

curl -i http://my.domain.com/api/v3/repositories "If-Modified-Since: Mon, 16 Jun 2014 01:01:01 CST"      

curl -i http://my.domain.com/api/v3/search/repos?q=pushed:2014-06-17 


HTTP/1.1 404 Not Found
Server: GitHub.com
Date: Wed, 18 Jun 2014 16:45:58 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Status: 404 Not Found
X-GitHub-Media-Type: github.beta
X-Content-Type-Options: nosniff
Content-Length: 29
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-    RateLimit-Res
et, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
Access-Control-Allow-Origin: *
X-GitHub-Request-Id: b4eec0e7-1b1a-48b7-81d8-d63c28b55b37

{
  "message": "Not Found"
}
Run Code Online (Sandbox Code Playgroud)

github github-api

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

Git 只显示提交哈希的作者?

我似乎无法弄清楚如何使用 git 从提交哈希中仅打印出作者。这就是我尝试过的(并且一直试图操纵以获得我想要的)。我怎样才能使它只打印出作者,如'%n'指定的那样?

git show --pretty="format:<author>%an</author>"  --name-only cf81c4a41517bdc5514d381c5309b80f5f4ca226
Run Code Online (Sandbox Code Playgroud)

git

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