我正在编写junit测试。我是package com.example.api.rs.asset.handler;
import org.easymock.EasyMock;
import org.easymock.EasyMockRunner;
import org.easymock.Mock;
import org.easymock.TestSubject;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import com.example.api.data.JsonString;
import com.example.api.impl.AssetApiImpl;
import com.example.api.impl.PolicyApiImpl;
@RunWith(EasyMockRunner.class)
public class RsAssetApiHandlerTest {
@TestSubject
private final RsAssetApiHandler handler = new RsAssetApiHandler();
@Mock
PolicyApiImpl policyApi = null;
@Mock
AssetApiImpl assetApi = null;
@Test
public void testGetAsset() {
// Arrange
JsonString expected = new JsonString();
expected.setJson("someString");
EasyMock.expect(assetApi.assetGetAsset(0)).andReturn(expected);
EasyMock.replay(assetApi);
// Act
JsonString actual = handler.getAsset(assetApi, 0);
// Assert
Assert.assertEquals(expected, actual);
EasyMock.verify(assetApi);
}
@Test
public void testGetDetails() {
// Arrange
JsonString expected = new JsonString();
expected.setJson("someString");
EasyMock.expect(assetApi.assetGetDetails(0, 0)).andReturn(expected);
EasyMock.replay(assetApi);
// Act
JsonString actual = handler.getDetails(assetApi, 0, 0);
// Assert
Assert.assertEquals(expected, actual);
EasyMock.verify(assetApi);
}
}
的新现实,并没有在我收到的错误中找到太多帮助。很可能是因为我缺乏熟悉感。
当我单独运行单个测试时,以下每个测试都通过。当我在课程中运行所有测试时,他们通过了。但是,当我使用Eclipse运行整个测试套件时,我收到以下错误:
EasyMock.anyInt()
单元测试
IllegalStateException
我尝试使用testGetDetails
,但似乎没有改变结果。任何指针都会受到赞赏。
编辑:澄清。
当单独测试单独运行时,它们会通过。当整个套件运行单元测试失败时,我得到lein clean && lein figwheel
。 lein do clean, with-profile prod compile
是失败的测试。