2010年的这个问题暗示了我正在努力做什么。
private Address createAddress(){
Address address = mock(Address.class, new StringAnswer() );
/* I want to replace repetitive calls like this, with a default string.
I just need these getters to return a String, not a specific string.
when(address.getLocality()).thenReturn("Louisville");
when(address.getStreet1()).thenReturn("1234 Fake Street Ln.");
when(address.getStreet2()).thenReturn("Suite 1337");
when(address.getRegion()).thenReturn("AK");
when(address.getPostal()).thenReturn("45069");
*/
ISOCountry isoCountry = mock(ISOCountry.class);
when(isoCountry.getIsocode()).thenReturn("US");
when(address.getCountry()).thenReturn(isoCountry);
return address;
}
//EDIT: This method returns an arbitrary string
private class StringAnswer implements Answer<Object> {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
String generatedString = "Generated String!";
if( invocation.getMethod().getReturnType().isInstance( generatedString )){
return generatedString;
}
else{
return Mockito.RETURNS_DEFAULTS.answer(invocation);
}
}
}
我能够完全回答我自己的问题。
在本例中,生成Louisville本地地址,而其他字段类似于“address.getStreet1();”。
private Address createAddress(){
Address address = mock(Address.class, new StringAnswer() );
when(address.getLocality()).thenReturn("Louisville");
ISOCountry isoCountry = mock(ISOCountry.class);
when(isoCountry.getIsocode()).thenReturn("US");
when(address.getCountry()).thenReturn(isoCountry);
return address;
}
private class StringAnswer implements Answer<Object> {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
if( invocation.getMethod().getReturnType().equals(String.class)){
return invocation.toString();
}
else{
return Mockito.RETURNS_DEFAULTS.answer(invocation);
}
}
}
问题内容: 2010年的这个问题暗示了我正在尝试做的事情。 我正在进行单元测试,该单元测试的代码需要许多模拟对象来完成所需的工作(测试HTML + PDF渲染)。为了使测试成功,我需要生成许多模拟对象,并且每个对象最终都会将一些String数据返回到要测试的代码中。 我 想 我可以通过实现自己的类或实现此目的,但是我不确定如何实现它们,因此它们仅影响返回String的方法。 我觉得下面的代码接近我
问题内容: 有一个MySQL 具有以下定义: 我想将此表的更改为。怎么做 ? 问题答案: 如果要将表和所有字符列更改为新字符集,请使用如下语句: 因此查询将是:
问题内容: 如果我们;默认执行此操作,则会添加空格字符以填充10,对吗?有办法改变吗? 我知道,您可以0通过0在之前指定来添加s,但是还printf支持其他功能吗? 问题答案: 不。空间是硬编码的。这甚至是java.util.Formatter源的代码段: 如果您希望获得不同的填充,可以执行后格式替换或类似的操作:
我正在尝试在Opportunity更改Stage Standard对象的默认值 我采取的步骤: 使用规则条件创建工作流规则机会:创建日期不等于null 评估标准在创建记录时评估规则。 将操作添加为字段更新,并为拾取列表选择值 激活规则 但是没有发生任何事情,因为默认值仍然是-NONE- 我错过了什么?作为salesforce新手,我也不想使用扳机或按钮。
问题内容: 尝试更改列的数据类型并设置新的默认值时遇到以下错误: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’VARCHAR(255)NOT NULL SET DEFAULT’{}’‘附近使用正确的语法 问题答案: 同样的第二种可能性(感谢juergen_d):
在尝试更改列的数据类型并设置新的默认值时,我遇到以下错误: 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解第1行“varchar(255)NOT NULL SET DEFAULT”{}“附近使用的正确语法