public class ResolverChainContext {
private AWSCredentialsProvider assumeRoleCredentials;
}
在单元测试(Groovy和Spock)的setup()
中,我用mock填充上面的字段:
def setup() {
def ctx = ResolverChainContext.builder().build()
ctx.setAssumeRoleCredentials(Mock(AWSCredentialsProvider.class))
}
接下来,在我的测试用例中,我调用一个方法getDynamodbCredentialsv2()
,我希望从getDynamodbCredentials()
中获取v1Credentials
,该方法来自setup()
步骤中的模拟对象:
public interface AWSCredentialsProvider {
AWSCredentials getCredentials();
void refresh();
}
protected AWSCredentialsProvider getDynamoDBCredentials() {
final AWSCredentialsProvider fasCredentials = resolverChainContext.getFasCredentials();
final AWSCredentialsProvider roleCredentials = resolverChainContext.getAssumeRoleCredentials();
if (null == fasCredentials || !invokerConfig.isUseCallerCredentials()) {
return roleCredentials;
} else {
return fasCredentials;
}
}
protected AwsCredentialsProvider getDynamoDBCredentialsV2() {
AWSCredentials v1Credentials = getDynamoDBCredentials().getCredentials();
blahblahblah;
}
问题是,对于V1Credentials
,我将获得null
。
这是因为我以错误的方式使用Groovy吗?如何使V1Credentials
成为它应该成为的对象?我应该使用mock/stub吗?
它返回null,因为awscredentialsProvider#getCredentials
的行为没有定义。
在Spock的基于交互的测试文档中,当未在模拟对象方法上定义行为时,将返回其默认值,在您的示例中,object
的默认值为null
最初,模拟对象没有任何行为。允许调用它们的方法,但除了返回方法返回类型的默认值(false、0或null)之外,没有其他影响。Object.Equals、Object.HashCode和Object.ToString方法是一个例外
当某个对象具有装箱类型属性时,该属性的getter返回。但是这应该返回,因为boxed type属性的默认值是。这里有什么问题?
在C++98中,以下代码无法编译,因为ifstream没有复制构造函数: 但是,在C++11中使用多个GCC版本时,编译时不会出现警告。这是什么原因?
本文向大家介绍jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?相关面试题,主要包含被问及jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?时的应答技巧和注意事项,需要的朋友参考一下 [jQuery] jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?
首先,我收到来自post string属性和来自控制器的inputStream。 接下来,我的服务调用ParseGeojosnStream以流式传输文件的内容。 接下来,传递特性的名称和列表,并将其插入表中。 最后,使用字符串属性和表名作为id创建scheme。 那么,当强制转换为json并将其存储在数据库中时,为什么要返回一个空的属性对象呢? 代码如下: log.info(“jsonGeomet
我正在搜索文档中的contacts数组中包含特定_ID的文档。下面是结构: 它执行与$elemmatch查询相同的操作。 我可能错过了一些非常基本的东西,但如果你们能提供一些建议,我将非常感谢。
问题内容: 我们正在开发对延迟敏感的应用程序,并且已经对各种方法(使用jmh)进行了微基准测试。在对基准测试方法进行微基准测试并对结果满意之后,我实现了最终版本,但发现最终版本比我基准测试的 速度慢 了 3倍 。 罪魁祸首是所实现的方法正在返回一个对象而不是一个对象。这是基准代码的简化版本: 以上基准测试结果: 只需更改函数的返回类型,就可以将性能提高近三倍。 我认为返回枚举对象与整数之间的唯一区