小编Ric*_*rth的帖子

是否可以在PowerMock中对私有静态方法使用部分模拟?

PowerMock主页上的示例中,我看到以下示例,用于部分模拟Mockito的私有方法:

@RunWith(PowerMockRunner.class)
// We prepare PartialMockClass for test because it's final or we need to mock private or static methods
@PrepareForTest(PartialMockClass.class)
public class YourTestCase {
@Test
public void privatePartialMockingWithPowerMock() {        
    PartialMockClass classUnderTest = PowerMockito.spy(new PartialMockClass());

    // use PowerMockito to set up your expectation
    PowerMockito.doReturn(value).when(classUnderTest, "methodToMock", "parameter1");

    // execute your test
    classUnderTest.execute();

    // Use PowerMockito.verify() to verify result
    PowerMockito.verifyPrivate(classUnderTest, times(2)).invoke("methodToMock", "parameter1");
}
Run Code Online (Sandbox Code Playgroud)

但是,当我们希望模拟的私有方法是静态的时,这种方法似乎不起作用.我希望创建一个以下类的部分模拟,并使用readFile方法进行模拟:

package org.rich.powermockexample;

import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.List;

import static com.google.common.io.Files.readLines;

public class DataProvider …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito powermock

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

如何为运行(Cucumber)验收测试指定单独的maven目标?

我有以下项目结构:

MyProject
   --src
   --test
      --acceptance
         --step_definitions
         --features
      --unit
Run Code Online (Sandbox Code Playgroud)

我希望能够在测试/单元中声明的单元测试中分别在Maven中运行我的黄瓜测试(在测试/验收中),以便它们可以在不同的CI构建计划中运行等.我正在使用cucumber-junit所以每个验收测试的"跑步者"都是用JUnit编写的.

这可能吗?

integration-testing maven cucumber-jvm cucumber-junit

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

如何在Haskell中的树之间移动子树?

对于两个多路树,t1和t2,定义使用

type Forest a = [Tree a]
data Tree a   = Node {
        rootLabel :: a,     
        subForest :: Forest a
    }
Run Code Online (Sandbox Code Playgroud)

如何编写一个从t1中删除子树并将其插入t2中给定节点的函数?

我想象签名看起来像

moveSubTree :: ((Tree x a) x (Tree x a)) -> (Tree x Tree)
Run Code Online (Sandbox Code Playgroud)

即,它需要一个树和父节点定义要删除的子树,以及第二个树和节点,它定义插入原始子树的点.

如有必要,可以组合要删除然后添加子树的单独函数.

recursion haskell types functional-programming function

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

如何使用swagger-ui与在eclipse上运行的tomcat中部署的服务

我有一个REST api运行,http://localhost:8080/MyService可以看到由swagger生成的JSON http://localhost:8080/MyService/api-docs.在eclipse的Servers项目中,我修改了web.xml以包含Cors过滤器:

<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

但当我指向swagger-ui(从文件系统的浏览器中加载)时http://localhost:8080/MyService/api-docs,我收到以下错误:

无法从服务器读取.它可能没有适当的访问控制原点设置.

rest tomcat web-applications swagger swagger-ui

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

如何从lein repl中删除一个函数?

在lein REPL会话期间,我可以定义许多功能.但是,有时我会希望会话"忘记"它们 - 例如,当我执行(run-all-tests)时,这会突出显示我不再需要的测试失败.有没有办法从会话中删除功能,或清除它,而无需重新启动?

clojure leiningen vimclojure

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

JSON Schema 中的 additionalItems 和 additionalProperties 有什么区别?

JSON Schema 中additionalProperties和之间有什么区别additionalItems,正如我看到的用于指定包含未在架构中定义的元素的文档是否应被视为有效的示例的示例。

javascript schema json jsonschema

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

对于特定方法,如何使用反射查看java中的已检查异常?

对于特定方法,如何使用反射查看java中的已检查异常?在JDK中似乎没有这方面的支持.

java reflection methods jvm exception-handling

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

如何使用AngularJS延迟启用按钮?

我正在使用该ng-disabled指令来控制何时可以单击页面上的按钮.是否可以通过计时器控制它?我希望按钮被移除直到5秒钟过去.我的HTML目前是:

<div ng-controller="ResetController">
    <button ng-click="reset()">Reset</button>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

3
推荐指数
2
解决办法
6341
查看次数

如何使用eunit测试gen_server内部状态

在调用回调函数后,是否可以检查gen_server的内部状态?我宁愿不在这里更改我的服务器的API.

erlang gen-server eunit

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

如何在Haskell列表推导中处理Maybe类型

我在Haskell中有一个列表解析,它指定了Maybe类型的谓词:

[x | x <- listOfMaybes, isJust(f y), x == fromJust(f y)]

有没有办法简化这个表达式?

haskell types functional-programming

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

具有默认参数的通用案例类的Circe编码器

我期待为以下案例类提供JSON编码器:

import io.circe.generic.extras.Configuration

final case class Hello[T](
    source: String, 
    version: Int = 1,
    data: T
)

object Hello {
  implicit val configuration: Configuration = Configuration.default.withDefaults
}
Run Code Online (Sandbox Code Playgroud)

我通常会叫deriveEncoder[A]的同伴对象,但因为没有参考或已经不在这里工作EncoderT这里.

Hello类型将作为库提供给客户端,因此我希望在此类型中尽可能多地使用样板,而不是依赖于提供编码器和解码器的客户端代码.是否有一个惯用的解决方案与circe,以便客户端提供编码器/解码器T,这用于导出编码器/解码器Hello[T]

json scala circe

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

scala中密封特性和抽象密封类之间的具体区别是什么?

我想在scala中定义以下代数数据类型:

sealed trait Beat
case object Rest extends Beat
case object Hit extends Beat
Run Code Online (Sandbox Code Playgroud)

是否有任何区别,如果我将其定义为:

abstract sealed class Beat
case object Rest extends Beat
case object Hit extends Beat
Run Code Online (Sandbox Code Playgroud)

即使用抽象的密封类而不是特征?定义似乎是等同的.

types functional-programming scala

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

如何计算AngularJS应用程序列表中特定项目的数量

我使用以下代码尝试生成一个列表,显示lettersAngularJS控制器中列表中每个项目的计数:

$scope.letters = ['a','b','c'];
$scope.letterdata = ['a','b','a','c','b','a'];

$scope.counts = $scope.letters.map(function (x) {
    $scope.letterdata.filter(function (y) {
        return (x == y);
    }).length;
});
Run Code Online (Sandbox Code Playgroud)

我想得到[3,2,1]输出,但这显示为[null,null,null].

javascript angularjs

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