1

これについて多くの質問と回答があることは承知していますが、私が読んだことはすべて試してみました。私はSpring Tool Suite 3.1.0を使用しています(ただし、Springはまだ使用していません)、組み込みのMaven 3.0.4およびJUnit 4.Ubuntu 12.04。私はこのJUnit 4テストを持っています:

    @Test
public final void testCheckAudio() {
    final InputStream stream = AudioServiceImplTest.class.getResourceAsStream("/test.wav");
    assertNotNull(stream);
}

test.wav は src/test/resources にあり、target/test-classes にコピーされていることを確認しました。Run as ... Maven Test I got: ... Failed tests: testCheckAudio(edu.gerher.askitcollector.test.services.AudioServiceImplTest) ... Failed to execute goal org.apache.maven.plugins:maven- Surefire-plugin:2.10:プロジェクトのテスト (デフォルト テスト) ...


テスト セット: MyPackage.AudioServiceImplTest

テストの実行: 16、失敗: 1、エラー: 0、スキップ: 0、経過時間: 0.039 秒 <<< 失敗! testCheckAudio(MyPackage.AudioServiceImplTest) 経過時間: 0.005 秒 <<< 失敗! edu.gerher.askitcollector.test.services.AudioServiceImplTest.testCheckAudio(AudioServiceImplTest.java:238) の java.lang.AssertionError .java:597) で org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53) で org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123) で org. apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で java.lang.reflect.Method.invoke(Method.java:597) で org.

「test.wav」、「/test.wav」を試し、src/test/resources にテスト パッケージを作成し、そこにファイルもコピーして、「/MyPackage/test.wav」、「MyPackage/test. wav」。いつも同じ答え。ファイルが見つかりません。

Run as... JUnit Test と同じ回答を試しました。En el pom.xml 私が持っている

<build>
...
<resources>
  <resource>
    <directory>.../src/main/resources</directory>
  </resource>
</resources>
<testResources>
  <testResource>
    <directory>.../src/test/resources</directory>
  </testResource>
</testResources>
<directory>.../target</directory>

本当に、あなたが私に与えることができるどんな助けにも感謝します.

4

3 に答える 3

1

それがまだ関連しているかどうかはわかりませんが
、src/test/resources/tree.png の下に画像があるとします。標準の Maven 設定を使用すると、次のようなコードで参照できます。

img = ImageIO.read(new File("src/test/resources/tree.png"));

これは、現在のプロジェクトの場所に相対的です。

プロジェクトを jar ファイルにパッケージ化し、実行中のコードでリソースを使用する場合は、Java ResourceLoader も確認する必要があります。出発点は次のとおりです。Java - リソースローダーをどのように作成しますか?

于 2013-06-27T09:47:43.623 に答える
0

リソースの場所の Maven のデフォルトを変更したのはなぜですか? "..." は何を指す必要がありますか?

私の提案: 1. カスタム リソース構成を削除します。 2. 目的のファイルを src/test/resources に配置します。 3. getResourceAsStream("/test.wav"); で参照します。

于 2013-02-07T17:07:58.433 に答える
0

これは私にとってはうまくいきました。src/test/resource/WsqImages から画像ファイルを読み取る必要があります

  File filepath= new File("src" + File.separator + "test" + File.separator
    + "resources" + File.separator + "WSQImages");

    try (InputStream is = new BufferedInputStream(new FileInputStream(
        filepath))) {

    Bitmap bitmap = WSQJavaUtil.getBitMap(IOUtils.toByteArray(is));
    assertNotNull("BitMap Creation faild", bitmap);
    } catch (IOException e) {
    LOG.error(e.getMessage(), e);
    throw new WSQDecompressionException(e.getMessage(), e);

    }
于 2014-01-29T11:51:21.380 に答える