我在模拟socket类和ObjectInputstream类。 这是一个给我的测试用例
java.io.StreamCorruptedException
测试用例如下:
public void test_tryPush() throws IOException {
ByteArrayInputStream inside = new ByteArrayInputStream("hey".getBytes());
Mockito.when(socket.getInputStream()).thenReturn(inside);
input = new ObjectInputStream(socket.getInputStream());
assertSame(inside, socket.getInputStream());
}
如果我没有删除ObjectInputStream类的输入对象,则测试通过。
但上面的测试给出了以下描述。
Running tests
Test running started
java.io.StreamCorruptedException
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:2109)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:372)
at tests.MockingTest.test_tryPush(MockingTest.java:113)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
Finish
请有人告诉我这里出了什么问题。 我试图模拟客户端套接字。