我试图模拟对resttemplate.exchange()的调用,但无法使其工作。当前,对exchange()的调用挂起,所以我认为正在调用的是实际的方法,而不是我的模拟方法。对exchange()的调用如下:
ResponseEntity<List<MyType>> response =
restTemplate.exchange(queryStr,
HttpMethod.GET,
null,
new ParameterizedTypeReference<List<MyType>>() {
});
@MockBean
private RestTemplate restTemplate;
@Test
public void testMethod() throws Exception {
when(restTemplate.exchange(anyString(),
eq(HttpMethod.GET),
eq(null),
eq(new ParameterizedTypeReference<List<MyType>>(){})
)).thenReturn(new ResponseEntity<List<MyType>>(HttpStatus.OK));
// rest of test code follows.
}
发现我们没有用控件中使用的@Autowired注释RestTemplate的实例。
@RestController
public class myController {
...
@Autowired // <-- Forgot this annotation.
private RestTemplate restTemplate;
...
}
现在mocks工作正常。
出于学校目的,我正在创建一个使用股票API的应用程序。 我正在尝试为一种获取过去10年所有股票数据的方法编写一个测试。我不想实际获取所有这些数据,而是想抛出一个异常。 我想测试的方法: 股票时间系列(....)调用可以抛出阿尔法仓位异常。 我这样嘲弄了TimeSeries类: 在我的测试类中,我想模拟这个调用,并返回一个异常而不是实际数据。 无论我多么试图嘲笑这段代码,它永远不会抛出异常。它将始终
考虑下面给出的代码: 我正在尝试编写一个单元测试用例: < li >调用< code >对象b。B()必须被嘲笑 < li >必须模拟对构造函数的调用 这就是我使用Mockito和Powermockito所做的: 第一个模拟成功工作,但第二个模拟使用 失败,并出现以下错误: org.powermock.reflect.exceptions.ConstructorNotFoundException:
我有一个基于代理的模型,它是在Repast中开发的。为了校准模型,我需要运行带有参数列表的模型。并且,使用一些优化算法来寻找最佳参数集(最小化一些损失值)。我想知道如何在就餐辛普森做到这一点。显然,标准的就餐GUI不支持这一点。我试过批量运行,但似乎也不是我想要的。我可以将JAVA代码打包为JAR文件,并从命令行运行它。但是如何让程序在我的Repast/JAVA实现中接受命令行参数呢?
问题内容: 我有一个笼子课: 我试图在另一个类main方法中实例化Cage对象: 我收到错误:笼子是原始类型。泛型Cage的引用应参数化。我尝试了几个想法,但对这种棘手的语法感到困惑:o( 问题答案: 是通用类型,因此您需要指定一个类型参数,例如这样(假设有一个): 您可以使用任何扩展的类型(甚至是自身)。 如果省略type参数,那么在这种情况下最终得到的是。但是,即使这是您想要的,您仍应明确声明
问题内容: 有没有一种使用通用参数模拟类的干净方法?说我必须模拟一个类,我需要将该类传递给需要一个的方法。我可以很容易地做到以下几点: 假定返回通用类型。但是,当我稍后将其传递给期望的方法时,将会有小猫。铸造是这样做的唯一方法吗? 问题答案: 我认为您确实需要强制转换,但应该不会太糟:
我在一个项目中,必须使用一个常量模板对象的引用作为另一个对象模板的参数。 简单地说,我想这样做: 问题是我不知道如何让它发生,我需要你的帮助。 在visual studio上,上述代码将产生以下错误:“C2971:具有非静态存储持续时间的变量不能用作非类型参数” 如果我尝试使用 ,则进行以下更改: 我得到以下错误“C2131:表达式未计算为常数” 好吧,我确实尝试了一些我在其他帖子上看到的关于类似