所以我一直在使用EasyMock的类扩展.突然间我得到了这个异常,但只有当我运行整个测试套件时:
java.lang.IllegalStateException: 0 matchers expected, 1 recorded.
at org.easymock.internal.ExpectedInvocation.createMissingMatchers(ExpectedInvocation.java:42)
at org.easymock.internal.ExpectedInvocation.<init>(ExpectedInvocation.java:34)
at org.easymock.internal.ExpectedInvocation.<init>(ExpectedInvocation.java:26)
at org.easymock.internal.RecordState.invoke(RecordState.java:64)
at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:24)
at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:56)
at org.easymock.classextension.internal.ClassProxyFactory$1.intercept(ClassProxyFactory.java:74)
at com.protrade.soccersim.data.emulator.matrix.PositionCategoryMatrix$$EnhancerByCGLIB$$c5298a7.getPossession(<generated>)
at com.protrade.soccersim.data.emulator.stats.team.PossessionCalculatorUnitTest.testDeterminePossessionHomeWin(PossessionCalculatorUnitTest.java:45)
Run Code Online (Sandbox Code Playgroud)
涉及的代码是这个小美女(修剪了一下):
@Before
public void setUp() throws Exception {
homeTeam = createMock( PositionCategoryMatrix.class );
awayTeam = createMock( PositionCategoryMatrix.class );
...
}
@Test
public void testDeterminePossessionHomeWin() {
expect(homeTeam.getPossession()).andReturn( 0.15151515 );
expect(awayTeam.getPossession()).andReturn( 0.01515152 );
replay( homeTeam, awayTeam );
...
}
Run Code Online (Sandbox Code Playgroud)
第一个期望是抛出异常.它真的没有意义.它说这是一个匹配器,但该方法甚至没有争论.奇怪的是,这只是在测试套件中!我正在@Before中创建一个新的模拟,所以它不应该从其他地方继承任何东西(不是其他方法会有一个匹配器)
那么,有什么想法吗?
我一直在使用git-svn并喜欢它.但我们只是将我们的仓库转换为需要1.5.0或更高版本的svn版本.目前,我有这个:
triedsound-lm:android holmesj$ git svn --version
git-svn version 1.7.3.1 (svn 1.4.4)
triedsound-lm:android holmesj$ svn --version
svn, version 1.6.15 (r1038135)
compiled Nov 29 2010, 13:32:56
Run Code Online (Sandbox Code Playgroud)
所以,当我尝试dcommit时,我收到此错误消息:
...
...
A repository hook failed: Commit blocked by start-commit hook (exit code 1) with output:
Only clients >= 1.5.0 may commit to this repository.
For upgrade instructions please see:
http://twiki.corp.yahoo.com/view/Subversion/SubversionFAQ#Upgrade
at /usr/local/git/libexec/git-core/git-svn line 573
Run Code Online (Sandbox Code Playgroud)
这真的很糟糕,我不想停止使用git-svn.那真是太糟糕了.如果我只是将我的所有git提交归结为一个大的svn提交,那就太糟糕了.
有谁知道如何更新git-svn使用的svn版本?我在OSX 10.5上运行它
我们使用svn,并使用git-svn来保持理智.有一次,我们的svn服务器决定为某个文件夹返回403.它发生在每个人身上,而不仅仅是我.
因此,我无法进行git-svn rebase.我看到这个错误:
Index mismatch: 164adbb93408bed4ff0bdbcbf07bdfb2c49ed0ce != 64443edc6089f7f737e51cf8ea5ff3680c95a7e9
rereading 0f2fa25d15a35ac3fe311e3e0142f1d9e5a3be18
M test/system-tests/src/test/java/com/garmin/elevation/ElevationManagerSystemTest.java
M test/activity-test/src/test/java/com/garmin/elevation/ElevationManagerIntegrationTest.java
M test/activity-test/src/test/java/com/garmin/mb/activity/service/ActivityServiceManagerIntegrationTest.java
M system/deployment/src/main/resources/oracle/releases/2.9-SNAPSHOT/110-preference/4-data.dml.sql
M pom.xml
service/activity-service-1.2/src/main/java/com/garmin/activity/service/impl/ActivityServiceImpl.java was not found in commit 0f2fa25d15a35ac3fe311e3e0142f1d9e5a3be18 (r8845)
Run Code Online (Sandbox Code Playgroud)
它最后抱怨的文件位于我们收到错误时返回403的文件夹中.在我的文件系统上,service/activity-service文件夹不存在.我相信它正在尝试修改文件(这就是svn的变化),但由于文件不存在,它只会爆炸.
所以我认为如果我能够删除过去的修订版,然后重新获取它们,它可能会起作用.我只是不确定该怎么做.我尝试以交互方式重新定位然后删除一堆,但这不起作用.
那么,有谁知道如何取消已取出的版本?