我試圖訪問一個.jpg
文件,它是我的src
文件夾裏面有這行代碼:如何訪問Play 2.1中的測試資源?
getClass().getResource("/teste.jpg")
這導致NullPointerException
。
我試圖把文件放在app/
的根目錄下。我也嘗試將其放在test/
目錄中,並且還將其放入test/resources
。
當我從Eclipse運行測試它工作正常,但它不從命令行使用play test
。
如何解決這個問題?
我試圖訪問一個.jpg
文件,它是我的src
文件夾裏面有這行代碼:如何訪問Play 2.1中的測試資源?
getClass().getResource("/teste.jpg")
這導致NullPointerException
。
我試圖把文件放在app/
的根目錄下。我也嘗試將其放在test/
目錄中,並且還將其放入test/resources
。
當我從Eclipse運行測試它工作正常,但它不從命令行使用play test
。
如何解決這個問題?
我相信,你可以通過使用
Play.application().getFile("file-relative-to-root")
這取決於運行的應用程序實現,但對於單元測試,你可以創建自己的應用程序。看看API文檔。
http://www.playframework.com/documentation/api/2.1.0/scala/index.html#play.api.Application
地點如Anatomy of a Play application描述public
或app/assets
下的文件。您還可以擁有test/resources
下的測試資源。
[root]> help resourceDirectory
Default unmanaged resource directory, used for user-defined resources.
[root]> show test:resourceDirectory
[info] root/test:resourceDirectory
[info] /Users/jacek/dev/sandbox/play-new-app/test/resources
隨着一個目錄中的資源文件(S),你可以在他們那裏得到如下:
io.Source.fromInputStream(getClass.getResourceAsStream("/teste.jpg"))