java - 如何模拟InputStream和ByteString

标签 java jmockit

我有一个这样的方法

private byte[] getInternalMDPayload(String metaDataDirString)
{

    byte[] data = new byte[16384];

    try
    {
        final InputStream internalMetadataInputStream = this.getClass().getClassLoader()
                .getResourceAsStream(metaDataDirString);        
        data = ByteStreams.toByteArray(internalMetadataInputStream);
        byteString = ByteString.copyFrom(data);

    } catch (IOException e)
    {
        dl.debug("Error occurred while loading the metadata file" + metaDataDirString);
    }
} 

有什么方法可以模拟这些对象吗?

目前我正在使用@Mocked Final Process mockProcess来模拟输入流无法找出如何模拟ByteStringbyte[].

最佳答案

我会选择这个:

Mockito
    .when(ByteString.copyFrom(Mockito.<byte[]>any()))
    .thenReturn(ByteString.copyFromUtf8("byteString was mocked"));

关于java - 如何模拟InputStream和ByteString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30907353/

相关文章:

java - 使用 JDBC 高效插入星型模式

java - 使用jmockit测试main方法

java - 当函数的代码作为方法参数传递时,如何测试它?

java - ant build.xml 文件中的 jmockit 覆盖率报告步骤

junit - : Mockito and JMockIt 之间的主要区别

java - 如何在同一个网页中的小程序之间共享数据?

java - Json数据如何使用Jsp传入DataTable

java - 子线程执行后将状态传递给其父线程

java - 如何使用 Java 客户端为 SOAP 生成特定的命名空间

junit - 将 kotlin 与 jmockit 一起使用