【问题标题】:Anyone using Junit4 with cpsuite-1.2.5 and EasyMock?有人使用 Junit4 和 cpsuite-1.2.5 和 EasyMock 吗?
【发布时间】:2011-07-16 19:24:37
【问题描述】:

我们使用 ClassPathSuite 来简化我们的测试: http://www.johanneslink.net/projects/cpsuite.jsp

这非常有效。我们遇到的唯一问题是 EasyMock。如果我们单独运行一个测试类,EasyMock 可以正常工作。但是,如果我们尝试使用 ClassPathSuite EasyMock 运行所有测试,则无法正常工作:

import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.*;
import org.junit.extensions.cpsuite.ClasspathSuite.*;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Categories.class)
@ExcludeCategory(SlowTest.class)
@SuiteClasses( {AllCITests.class})
public class FastTestSuite {

}

没有异常发生,但是下面的代码似乎没有按预期运行(我们永远不会返回我们在 andReturn 中定义的内容:)

EasyMock.expectLastCall().andReturn(somethingElse);

有人看到并解决了这个问题吗?

【问题讨论】:

  • 您是否尝试过运行多个类,包括在不使用 cpsuite 的情况下失败的类?正如我现在所看到的,它是一个测试管理工具,所以我认为它不会对 EasyMock 造成任何影响
  • 如果我使用普通的 jUnit4 运行,我对 EasyMock 测试没有任何问题。我运行相同的三个类和相同的测试,但与使用 cpsuite 时相比得到不同的结果。

标签: java classpath junit4 easymock


【解决方案1】:

结果证明这与 ClassPathSuite 或 EasyMock 无关。相反,它是由我们的代码中使用单例引起的。我们有一个特定的场景,EasyMock 没有被调用,因为我们试图模拟的对象已经存在一个 Singleton。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2012-10-06
    • 2012-10-05
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多