1

我正在使用 powermock + easymock + testng

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="My Module" suite-preserve-order="true" verbose="10"
    object-factory="org.powermock.modules.testng.PowerMockObjectFactory">  
    <test verbose="2" name="module1" annotations="JDK">
        <classes>
            <class name="com.mymodule.TestClass1" />
            <class name="com.mymodule.TestClass2" />
            <class name="com.mymodule.TestClass3" />
        </classes>
    </test>
</suite>

Test1 & 2 一起工作。当我添加 Test3 时,它们开始失败并出现各种错误,例如 java.lang.IllegalStateException: no last call on a mock available

我通过添加注释 @PrepareEverythingForTest 修复了 Test1

但我无法修复本身已经开始失败的测试 2 和 3。测试 3 单独工作正常。值得一提的是,这些类共享一些模拟类,并且它们自己已在彼此的测试用例中被模拟。默认情况下,我使用的注释像

@PrepareOnlyThisForTest({TestClass2.class,SharedClass.class})

我该如何解决这些问题。看起来在测试中共享了一些嘲笑。如何阻止它。

请回复

4

0 回答 0