Java 测试两个流量输出是否相等

Java 测试两个流量输出是否相等,java,jax-rs,Java,Jax Rs,如何检查两个StreamingOutput的内容是否相等 相等值比较对象引用 谷歌似乎也不知道如何做到这一点,也许我完全走错了路 @Test public void testStreamingDemo() { Stock stock = new Stock("SPY", "hello"); StreamingOutputDemo instance = new StreamingOutputDemo(); StreamingOutp

如何检查两个StreamingOutput的内容是否相等

相等值比较对象引用

谷歌似乎也不知道如何做到这一点,也许我完全走错了路

@Test
    public void testStreamingDemo()
    {
        Stock stock = new Stock("SPY", "hello");

        StreamingOutputDemo instance = new StreamingOutputDemo();
        StreamingOutput expResult = new StreamingOutput()
        {

            @Override
            public void write(OutputStream output) throws IOException, WebApplicationException
            {
                PrintStream ps = new PrintStream(output);
                ps.println(stock.getName());
                ps.flush();
            }
        };

        StreamingOutput result = instance.streamingDemo(stock);

        assertTrue(expResult.equals(result));
    }


每当我们使用OutputStream创建一个对象时,我们都会得到每个流对象的一个新副本。因此,比较流对象没有意义

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class StreamComparsion {
public static void main(String[] args) {
    try {
            OutputStream outputStream = new FileOutputStream(new File("C:/Test.xml"));
            OutputStream outputStream1 = new FileOutputStream(new File("C:/Test.xml"));
            System.out.println(outputStream.equals(outputStream1)); // Your Expectation
            System.out.println(outputStream1.toString());
            System.out.println(outputStream.toString());
            System.out.println(outputStream1.hashCode());
            System.out.println(outputStream.hashCode());
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

  }
}

输出:

假的 java.io。FileOutputStream@6bbc4459 java.io。FileOutputStream@152b6651 1807500377
355165777

测试Stock.getName是否有相同的结果是否足够?
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class StreamComparsion {
public static void main(String[] args) {
    try {
            OutputStream outputStream = new FileOutputStream(new File("C:/Test.xml"));
            OutputStream outputStream1 = new FileOutputStream(new File("C:/Test.xml"));
            System.out.println(outputStream.equals(outputStream1)); // Your Expectation
            System.out.println(outputStream1.toString());
            System.out.println(outputStream.toString());
            System.out.println(outputStream1.hashCode());
            System.out.println(outputStream.hashCode());
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

  }