我有一个使用当前时间进行一些计算的函数.我想用mockito嘲笑它.
我要测试的类的一个例子:
public class ClassToTest {
public long getDoubleTime(){
return new Date().getTime()*2;
}
}
Run Code Online (Sandbox Code Playgroud)
我喜欢这样的东西:
@Test
public void testDoubleTime(){
mockDateSomeHow(Date.class).when(getTime()).return(30);
assertEquals(60,new ClassToTest().getDoubleTime());
}
Run Code Online (Sandbox Code Playgroud)
有可能嘲笑吗?我不想更改"经过测试"的代码以便进行测试.
在速度我有一个变量,其值为null.在这种情况下,我不想显示任何内容.
目前模板引擎将""转换为null,所以我必须这样做.
#set ( $a = "")
#if ($a)
assert("never prints a neither gets here: " + $a)
#end
Run Code Online (Sandbox Code Playgroud)
有没有办法直接做到这一点?我希望能够做出类似的事情:
This is the variable $a. ## in case that $a is null i don't want 'dollar a' to be displayed
Run Code Online (Sandbox Code Playgroud) 我还没有找到这个变量的任何完整的跨浏览器文档.
什么是arguments.callee
?它是如何工作的?
它有哪些论据?
我有几个bean实现相同的接口.每个bean都注明了
@Component
@Order(SORT_ORDER).
public class MyClass implements BeanInterface{
...
}
Run Code Online (Sandbox Code Playgroud)
有一次我自动装配了一个组件列表,我期待一个排序的bean列表.bean的列表没有按照我用注释设置的顺序排序.
我尝试实现Ordered接口,并发生相同的行为.
@Component
public class Factory{
@Autowired
private List<BeanInterface> list; // <- I expect a sorted list here
...
}
Run Code Online (Sandbox Code Playgroud)
我做错了吗?
声纳向我展示了一个小工作的说法:
- Array Trailing Comma
Array should contain trailing comma.
Run Code Online (Sandbox Code Playgroud)
我的代码包含:
RECOVER_PASSWORD(new String[] {
RequiredPermissions.USERS_PASSWORD_RECOVER,
RequiredPermissions.USER_RETRIEVE,
RequiredPermissions.API_USER_RETRIEVE,
RequiredPermissions.ONETIMELINK_CREATE,
RequiredPermissions.API_ONETIMELINK_CREATE,
RequiredPermissions.PASSWORD_RECOVER,
RequiredPermissions.API_PASSWORD_RECOVER }),
Run Code Online (Sandbox Code Playgroud)
我为什么要插入一个尾随逗号?
我有一个对象甲一些方法毫安,MB,MC和该对象实现了接口乙仅毫安和MB.
当我序列化B时,我期望只有ma和mb作为json响应,但我也得到了mc.
我想自动化这种行为,以便我序列化的所有类都基于接口而不是实现来序列化.
我该怎么办?
例:
public interface Interf {
public boolean isNo();
public int getCountI();
public long getLonGuis();
}
Run Code Online (Sandbox Code Playgroud)
执行:
public class Impl implements Interf {
private final String patata = "Patata";
private final Integer count = 231321;
private final Boolean yes = true;
private final boolean no = false;
private final int countI = 23;
private final …
Run Code Online (Sandbox Code Playgroud) 这段代码安全吗?
SecureRandom randomizer = new SecureRandom(String.valueOf(new Date().getTime()).getBytes());
Run Code Online (Sandbox Code Playgroud)
这是实例安全随机种子的正确方法吗?
我有一个注入了JavaMailSender的服务.我的服务配置它并发送邮件.我想拦截原始邮件以确保信息是正确的.我想在JUnit中做到这一点.
你们会怎么做?
@Service
public class MyServiceImpl {
@Autowired
private JavaMailSender _mailSender;
public void sendMail(String to, String body, String subject){
...
_mailSender.something
...
}
}
Run Code Online (Sandbox Code Playgroud) 原始问题
因为我从1.6.3改变了版本.到1.6.4我在托管模式下与GWT一起工作时遇到严重的性能问题.
更新18/04/2012
该问题在开发环境中也可以在1.6.4.1中重现.到目前为止,最好是降级到1.6.3
更新09/07/2012
根据Kris Giesing的说法:这仍然没有在1.7.0中修复.要求在1.4.3中处理330ms,在1.6.3中处理415ms,需要13740ms来处理1.7.0.这是来自Java分析代码(没有I/O)的时间 - 几乎是40倍的减速.
更新09/08/2012
谷歌在谷歌appengine的公开问题清单7282问题中承认了这个问题.
我正在使用纯JUnit 4测试,我将它们编译在一些属于类路径的jar中.我想在我的类路径中运行所有测试.
有办法吗?
我的任务看起来像:
<target name="test" description="All the tests">
<junit fork="yes">
<classpath>
<path refid="test.classpath" />
<fileset dir="war/WEB-INF/lib/">
<include name="*.jar"/>
</fileset>
<fileset dir="war/WEB-INF"/>
<fileset dir="war"/>
</classpath>
<formatter type="plain" usefile="false" />
</junit>
</target>
Run Code Online (Sandbox Code Playgroud) java ×9
junit ×2
spring ×2
unit-testing ×2
ant ×1
cryptography ×1
eclipse ×1
encryption ×1
gwt ×1
jackson ×1
jakarta-mail ×1
java-ee ×1
javascript ×1
json ×1
mocking ×1
mockito ×1
performance ×1
random ×1
security ×1
sonarqube ×1
sorting ×1
spring-mvc ×1
syntax ×1
templates ×1
testing ×1
velocity ×1