让我们假设一段测试代码:
Observable model = Class.forName(fullyQualifiedMethodName).newInstance();
Observer view = Mockito.mock(Observer.class);
model.addObserver(view);
for (Method method : Class.forName(fullyQualifiedMethodName).getDeclaredMethods())
{
method.invoke(model, composeParams(method));
model.notifyObservers();
Mockito.verify(
view, Mockito.atLeastOnce()
).update(Mockito.<Observable>any(), Mockito.<Object>any());
}
Run Code Online (Sandbox Code Playgroud)
Mockito.verify如果模型中的Observable.setChanged()方法没有调用方法,则抛出异常.
问题:没有添加loggers/System.print.out我无法意识到当前测试失败的方法是什么.有没有办法与jUnit Assert方法类似:
Assert.assertEquals(
String.format("instances %s, %s should be equal", inst1, inst2),
inst1.getParam(),
inst2.getParam()
);
Run Code Online (Sandbox Code Playgroud)
解:
verify(observer, new VerificationMode()
{
@Override
public void verify(VerificationData data)
{
assertTrue(
format(
"method %s doesn't call Observable#setChanged() after changing the state of the model",
method.toString()
),
data.getAllInvocations().size() > 0);
}
}).update(Mockito.<Observable>any(), Mockito.<Object>any());
Run Code Online (Sandbox Code Playgroud) 我是一名新手程序员,作为我项目的一部分,我必须修改一个包含数百个类的开源工具(用java编写).我必须修改它的重要部分以满足项目的需要.在过去的一个月里,我一直在努力尝试阅读代码,试图找出每个类的功能,并试图从头到尾找出管道.
80%的课程都有不完整/缺失的文件.剩下的20%是构成该工具的通用API的那些.一个月的代码阅读刚刚帮助我理解了基本架构.但我无法弄清楚我需要为我的项目做出的确切更改.有一次,我开始修改部分代码,很快就做了很多改变,我再也记不住了.
一位朋友建议我尝试写下类层次结构.是否有更好的(标准?)方式来做到这一点?
我正在关注以下教程:https://github.com/jbosstm/quickstart/tree/master/XTS/ssl
使用jboss-cli成功添加了安全领域:
/core-service=management/security-realm=SSLRealm:add()
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add( \
keystore-path=./standalone/configuration/server.keystore, \
keystore-password=client, \
alias=client)
Run Code Online (Sandbox Code Playgroud)
当我尝试添加一个https-listener:
/subsystem=undertow/server=default-server/https-listener=https:add( \
socket-binding="https", security-realm="SSLRealm" \
)
Run Code Online (Sandbox Code Playgroud)
WildFly抛出一个异常:
{
"outcome" => "failed",
"failure-description" => "JBAS014750: Operation handler failed to complete",
"rolled-back" => true
}
Run Code Online (Sandbox Code Playgroud)
任何想法如何添加https-listener?
有谁知道为什么java.lang.Thread的方法join()成员被命名为?它的javadoc是:
等待这个线程死亡.
当在一些线程上调用join时,调用线程正在等待另一个线程死并继续执行.据说调用线程也会死掉,但仍然不清楚为什么作者使用这个名字.
是否有可能告诉Maven2以串行模式在新的JVM实例(fork)中执行每个jUnit测试,即逐个执行.
我正在使用Eclipse Europa和Subversive SVN插件.
当尝试提交已删除的目录时,SVN会返回以下消息:
Some of selected resources were not committed.
Item is out of date
svn: Commit failed (details follow):
svn: Item '/myProject/trunk/src/test/config' is out of date
Run Code Online (Sandbox Code Playgroud)
该文件夹的内容已被删除并提交.
我该怎么办呢?
在Eclipse生活多年后,我一直在使用IntelliJ IDEA 9.0社区版.似乎很难找到一件事.我想在我的项目中的某个子文件夹上创建一个补丁.在Eclipse中,使用右键单击Team,Create Patch完成.
有没有人知道如何在IDEA中做到这一点?
在方法中看到过这个评论:
//I wonder why Sun made input and output streams implement Closeable and left Socket behind
Run Code Online (Sandbox Code Playgroud)
它会阻止创建包装器匿名内部类,它实现了Closeable,它将close方法委托给Socket实例.
Eclipse + Subversive插件
在提交与SVN不同步的目录时,会弹出一条消息:
Merge conflict during commit
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating
Run Code Online (Sandbox Code Playgroud)
试图从Eclipse Navigator视图更新整个项目(右键单击>刷新或F5),问题仍然存在.
在这种情况下有什么可以做的吗?