PowerMockitoでファイルをモックする

CrazyDoggg

私は次のテストコードを持っています:

@RunWith(PowerMockRunner.class)
@PrepareForTest({Logger.class, Files.class})
public class TestClass {

  private static final List<String> LIST = new ArrayList<String>() {{
    add("some entry");
  }};
  private static final Path PATH = Paths.get("/tmp/foo");

  @Before
  public void setup() {
    PowerMockito.spy(Files.class);
    PowerMockito.doReturn(LIST).when(Files.class, "readAllLines", PATH, Charset.defaultCharset());
  }

  @Test
  public void test() {}
}

上記のコードは、最後の行に「NoSuchFileException」をスローします。スタックトレースは次のとおりです。

java.nio.file.NoSuchFileException:/ tmp / foo at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)at sun.nio .fs.UnixException.rethrowAsIOException(UnixException.java:107)at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)at java.nio.file.Files.newByteChannel(Files.java:317)atjava。 nio.file.Files.newByteChannel(Files.java:363)at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:380)at java.nio.file.Files.newInputStream(Files.java:108) java.nio.file.Files.newBufferedReader(Files.java:2677)at java.nio.file.Files.readAllLines(Files.java:3033)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect太陽で.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)。Reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.powermock.reflect.internal.WhiteboxImpl.performMethodInvocation(WhiteboxImpl.java:2014)at org .powermock.reflect.internal.WhiteboxImpl.doInvokeMethod(WhiteboxImpl.java:885)at org.powermock.reflect.internal.WhiteboxImpl.invokeMethod(WhiteboxImpl.java:859)at org.powermock.reflect.Whitebox.invokeMethod(Whitebox.java :466)at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when(PowerMockitoStubberImpl.java:106)at TestClass.setup(TestClass.java:29)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang。Reflect.Method.invoke(Method.java:606)at org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java:129)at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:93) org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl $ PowerMockJUnit44MethodRunner.executeTest(PowerMockJUnit44RunnerDelegateImpl.java:294)at org.powermock.modules.UnitRunnerMock4.internal.impl.PowerMockJUnit47RunnerDelegateImpl $ org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl $ PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:82)at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl $ PowerrunBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:282)at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:84)at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49)at org.powermock .modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:207)at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegate .internal.impl.PowerMockJUnit44RunnerDelegateImpl $ 1.run(PowerMockJUnit44RunnerDelegateImpl.java:120)at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34)at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoa java:44)org.powermock.modules.junit4.internal.implで。PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:118)at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:101)at org.powermock.modules.junit4 AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:53)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java: 50)org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org .eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)で

私はここで私が間違っていることを完全に理解することはできません。

CrazyDoggg

私は問題を見つけました:問題はファイルがシステムクラスであるということです。

https://github.com/powermock/powermock/wiki/mocksystem

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PowerMockitoでファイルをモックする

分類Dev

Javaでファイルをモックする-モックの内容-Mockito

分類Dev

JavaScriptでファイルをモックする方法は?

分類Dev

EasyMockでファイルをモックする方法は?

分類Dev

StringIOでファイルをRubyモックする

分類Dev

RSpecでXMLファイルをモックする方法

分類Dev

Camelでファイルエンドポイントをモックする

分類Dev

mockitoでファイナルクラスをモックする方法

分類Dev

powermockitoで静的クラスをモックする

分類Dev

PowerMockitoでSystem.exitをモックする方法は?

分類Dev

機能テストでファイルコピーをモックする方法

分類Dev

stanalonerunで空手DSL機能ファイルのモックを使用する

分類Dev

1つのファイルで日時をモックする方法は?

分類Dev

Node.jsで必要なファイルをモックする方法は?

分類Dev

モック可能/テスト可能な方法でファイルを連結する

分類Dev

ChefSpecでファイルの内容をモックアウトする

分類Dev

googlemockでファイル書き込みプロセスをモックする

分類Dev

冗談で小道具としてファイルをモックする方法は?

分類Dev

Javaモックファイルの提案(java.io.Fileをモックする)

分類Dev

csvファイルをモックする方法

分類Dev

ファイル操作をモックするJUnitテスト

分類Dev

application.propertiesファイルをモックする方法は?

分類Dev

zipファイルをモックする方法

分類Dev

powermockitoでスパイするクラスのメンバーをモックする方法

分類Dev

Jestで1つのテストファイルのみのモジュールをモックする方法は?

分類Dev

Powermockitoを使用してjunitでプライベートメソッドをモックする

分類Dev

BDDステップファイルをモックインする方法

分類Dev

BDDステップファイルをモックインする方法

分類Dev

テスト目的でJavaScriptで大きなサイズのファイルをモックする方法は?

Related 関連記事

  1. 1

    PowerMockitoでファイルをモックする

  2. 2

    Javaでファイルをモックする-モックの内容-Mockito

  3. 3

    JavaScriptでファイルをモックする方法は?

  4. 4

    EasyMockでファイルをモックする方法は?

  5. 5

    StringIOでファイルをRubyモックする

  6. 6

    RSpecでXMLファイルをモックする方法

  7. 7

    Camelでファイルエンドポイントをモックする

  8. 8

    mockitoでファイナルクラスをモックする方法

  9. 9

    powermockitoで静的クラスをモックする

  10. 10

    PowerMockitoでSystem.exitをモックする方法は?

  11. 11

    機能テストでファイルコピーをモックする方法

  12. 12

    stanalonerunで空手DSL機能ファイルのモックを使用する

  13. 13

    1つのファイルで日時をモックする方法は?

  14. 14

    Node.jsで必要なファイルをモックする方法は?

  15. 15

    モック可能/テスト可能な方法でファイルを連結する

  16. 16

    ChefSpecでファイルの内容をモックアウトする

  17. 17

    googlemockでファイル書き込みプロセスをモックする

  18. 18

    冗談で小道具としてファイルをモックする方法は?

  19. 19

    Javaモックファイルの提案(java.io.Fileをモックする)

  20. 20

    csvファイルをモックする方法

  21. 21

    ファイル操作をモックするJUnitテスト

  22. 22

    application.propertiesファイルをモックする方法は?

  23. 23

    zipファイルをモックする方法

  24. 24

    powermockitoでスパイするクラスのメンバーをモックする方法

  25. 25

    Jestで1つのテストファイルのみのモジュールをモックする方法は?

  26. 26

    Powermockitoを使用してjunitでプライベートメソッドをモックする

  27. 27

    BDDステップファイルをモックインする方法

  28. 28

    BDDステップファイルをモックインする方法

  29. 29

    テスト目的でJavaScriptで大きなサイズのファイルをモックする方法は?

ホットタグ

アーカイブ